# How to Suppress the 'Ponytail Loaded' Toast Message in Ponytail

> Easily suppress the 'Ponytail loaded' toast message in Ponytail by setting "quietStartup": true in your .ponytailrc file. Learn how to disable this notification now.

- Repository: [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- Tags: how-to-guide
- Published: 2026-09-03

---

**To suppress the "Ponytail loaded" toast, set `"quietStartup": true` in your `~/.ponytailrc` configuration file, which causes the `getQuietStartup()` function in [`hooks/ponytail-config.js`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/ponytail-config.js) to return `true` and block the notification emit in [`pi-extension/index.js`](https://github.com/DietrichGebert/ponytail/blob/main/pi-extension/index.js).**

The Ponytail extension displays a startup toast notification whenever a session initializes, indicating the active operational mode. While helpful for confirming extension activation, this message can distract from your workflow. According to the `DietrichGebert/ponytail` source code, this notification is controlled by a boolean configuration flag that you can toggle via JSON configuration.

## Understanding the Toast Notification Logic

The toast emission occurs in [`pi-extension/index.js`](https://github.com/DietrichGebert/ponytail/blob/main/pi-extension/index.js) within the `session_start` event handler. Before calling the UI notification method, the code explicitly checks the `getQuietStartup()` helper:

```javascript
if (!getQuietStartup()) {
  ctx?.ui?.notify?.(`Ponytail loaded: ${currentMode}`, "info");
}

```

When `getQuietStartup()` returns `true`, the conditional evaluates to false and the `notify` call is skipped entirely. This helper function is implemented in [`hooks/ponytail-config.js`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/ponytail-config.js), where it parses the `.ponytailrc` configuration file and returns the value of the `quietStartup` property.

## Disabling the Toast via Configuration

Ponytail reads user preferences from a JSON configuration file located in the home directory. To permanently silence the startup toast, you must create or modify this file.

### Creating the .ponytailrc File

Create a new file named `.ponytailrc` (note the leading dot) in your home directory. On Unix-like systems, use:

```bash
cat > ~/.ponytailrc <<'EOF'
{
  "quietStartup": true
}
EOF

```

On Windows, create the file at `%USERPROFILE%\.ponytailrc` with the same JSON content.

### Validating the Configuration

Ensure the file contains valid JSON syntax with the `quietStartup` key set to a boolean `true`:

```json
{
  "quietStartup": true
}

```

Invalid JSON will cause `getConfig()` in [`hooks/ponytail-config.js`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/ponytail-config.js) to fail, potentially resulting in `getQuietStartup()` returning `undefined` and the toast appearing despite your configuration.

## Automating Configuration Changes

For CI/CD pipelines or team-wide environment setup, modify the configuration programmatically using Node.js:

```javascript
const fs = require("fs");
const path = require("path");
const os = require("os");

const configPath = path.join(os.homedir(), ".ponytailrc");
let config = {};

if (fs.existsSync(configPath)) {
  config = JSON.parse(fs.readFileSync(configPath, "utf8"));
}

config.quietStartup = true;
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));

```

This script safely merges the `quietStartup` flag into existing configurations without overwriting other settings.

## Testing Your Configuration

To verify the flag is active before the next session restart, log the current value within any Ponytail context:

```javascript
console.log("quietStartup value:", getQuietStartup());

```

If the output displays `true`, the configuration loaded successfully. Restart Ponytail or reload the extension; the `session_start` handler will skip the `notify` call and the "Ponytail loaded" toast will not appear.

## Summary

- The toast is emitted in [`pi-extension/index.js`](https://github.com/DietrichGebert/ponytail/blob/main/pi-extension/index.js) and controlled by the `getQuietStartup()` function in [`hooks/ponytail-config.js`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/ponytail-config.js)
- Set `"quietStartup": true` in `~/.ponytailrc` to disable the notification
- The configuration file must use valid JSON syntax and reside in the user's home directory
- Changes take effect immediately upon the next session start or extension reload
- Programmatic updates can be performed using standard Node.js file system operations

## Frequently Asked Questions

### Does the quietStartup setting affect other Ponytail notifications?

No. The `quietStartup` flag exclusively controls the single toast message emitted during the `session_start` event in [`pi-extension/index.js`](https://github.com/DietrichGebert/ponytail/blob/main/pi-extension/index.js). Error messages, warnings, and other informational notifications from Ponytail continue to display normally.

### What file format does Ponytail expect for the .ponytailrc configuration?

Ponytail requires strict JSON format. The `getConfig()` function in [`hooks/ponytail-config.js`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/ponytail-config.js) parses the file using `JSON.parse()`, so trailing commas, single quotes, or unquoted keys will cause the configuration load to fail and the toast suppression to malfunction.

### Can I suppress the toast without creating a configuration file?

No. According to the source code in `DietrichGebert/ponytail`, the only mechanism to disable the toast is through the `quietStartup` boolean read from `.ponytailrc`. There is no command-line flag or environment variable that overrides this behavior in the current implementation.

### Will the toast suppression persist across editor restarts?

Yes. Once `quietStartup` is set to `true` in `~/.ponytailrc`, the setting persists indefinitely. The `getQuietStartup()` function reads the file during every `session_start` event, so the toast remains suppressed across all future editor sessions until you delete the flag or set it to `false`.