# Turn Off Codex CLI Sparks with whimsy = false

> Disable Codex CLI's sparkling input background with whimsy = false in config.toml. Follow Vi editing steps, restart instructions, and troubleshooting.

## Turn off Codex sparks in the terminal with `whimsy = false`

**TL;DR:** To disable Codex sparks, the faint sparkling CLI input background, set `whimsy = false` under `[tui]` in `~/.codex/config.toml`, save, and restart Codex. Minimal configuration:

```toml
[tui]
whimsy = false
```

For a plain input background, use the tested setting below. Edit just one configuration value.

- **Observed environment:** macOS with Codex CLI 0.154.0.

The before, configuration, and after screenshots document the user's tested fix. Other versions remain unverified.

![Codex CLI 0.154.0 on macOS, with red arrows pointing to faint sparks in the input bar](/assets/codex-sparkling-sky-in-terminal-whimsy-effect.webp)

Before: red arrows mark the faint starry input background.

## Open the Codex configuration in Vi

1. Open a separate terminal window or tab. Use the shell prompt; do not type shell or editor commands into the Codex prompt.
2. Run the following command and press Enter. It opens the configuration file in Vi:

```sh
vi ~/.codex/config.toml
```

3. Press `i` to enter insert mode for editing.

Use the arrow keys to find an existing `[tui]` heading. Avoid typing over existing text while navigating.

OpenAI's [configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference) confirms the user configuration location and describes TUI options. It does not currently document `whimsy`; the user's observed result here supports this fix.

## Set Codex `whimsy = false` inside `[tui]`

Settings belong to the section heading above them. Put `whimsy = false` on its own line within `[tui]`, before the next `[section]` heading.

- If `[tui]` exists, add the setting there, preserving its other keys.
- If `whimsy` already exists within `[tui]`, set it to `false` without duplicating it.
- If `[tui]` does not exist, append the minimal two-line block above. Do not create a second `[tui]` section.

![Vi showing the tui section with pet set to disabled and whimsy set to false, followed by tui.model_availability_nux](/assets/codex-config-edit-add-whimsy-off.webp)

Configuration: `whimsy = false` appears under `[tui]`, before `[tui.model_availability_nux]`.

Only `whimsy` is required. The visible `pet = "disabled"` entry and `[tui.model_availability_nux]` section are existing screenshot settings, not instructions to copy. Leave other settings unchanged.

## Save and restart Codex to remove the sparks

1. Press `Esc` to leave insert mode.
2. Type a colon (`:`). On a US keyboard, hold Shift and press semicolon (`;`). Then type `wq` and press Enter. The complete command is `:wq`: `w` writes the file, and `q` quits Vi.
3. Close the existing Codex session normally. At the shell prompt, run:

```sh
codex
```

The restarted session should show the input background without sparks, as observed below.

![Restarted Codex CLI 0.154.0 on macOS with no sparks in the input background](/assets/codex-sparks-turned-off.webp)

After: the configuration change and restart removed the sparkling background.

## If Codex terminal sparkles remain

Check these details before making another change:

| Item | What to check | Why it matters |
|---|---|---|
| Restart | Close the existing session and rerun `codex`. | The observed fix includes a restart. |
| Section | Place the setting under `[tui]`, before `[tui.model_availability_nux]` or another heading. | A later heading changes its section. |
| Value | Use `whimsy = false`, with unquoted `false`. | TOML needs a boolean value here. |
| Saved file | Reopen `~/.codex/config.toml` and confirm the line remains. | Unsaved edits cannot affect the next launch. |

Check placement and saving carefully. Once those match the example, restart Codex and compare the input box with the final screenshot.

Get Email address for your AI agent

Create a cloud bucket and copy its @revdokumail.com email address.

Emails sent to this email are saved as JSON and Markdown, attachments are extracted.

Connect AI agents to read and manage saved emails and files via the API, CLI, MCP, or Skill.

Create Free Account or connect your AI agent

Connect AI:

Prompt
Skill
MCP
API

Show full prompt ⌄

Copy

npx skills add revdoku/revdoku --skill revdoku -g

Copy

Claude Code
Codex
Cursor
Gemini CLI
Hermes Agent
OpenClaw

Codex CLI Claude Code Other AI app

Codex CLI
Claude Code
Other

codex mcp add revdoku --url https://app.revdoku.com/mcp && codex mcp login revdoku Copy

claude mcp add --transport http revdoku https://app.revdoku.com/mcp && claude mcp login revdoku Copy

Transport Streamable HTTP Auth Browser OAuth

https://app.revdoku.com/mcp Copy

Open the MCP setup guide &rarr;

JavaScript
Python
C# (.NET)

const apiKey = process.env.REVDOKU_API_KEY; // Get a key at https://app.revdoku.com/account/access
if (!apiKey) throw new Error("Set REVDOKU_API_KEY first");

const response = await fetch(
"https://app.revdoku.com/api/v1/buckets", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ bucket: { title: "My agent inbox" } })
}
);
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
const { data } = await response.json();
const inbox = data.bucket.inbound_email;
console.log("Bucket ID:", data.bucket.id);
console.log("Email:", inbox.address);
console.log("Ready:", inbox.ready);
console.log("Open:", data.bucket.dashboard_url);
if (!inbox.ready) console.log("Receiving:", inbox.blocked_reason);
Copy code

JavaScript setup & full example →

import os
import requests

api_key = os.environ["REVDOKU_API_KEY"] # Get a key at https://app.revdoku.com/account/access
response = requests.post(
"https://app.revdoku.com/api/v1/buckets",
headers={"Authorization": f"Bearer {api_key}"},
json={"bucket": {"title": "My agent inbox"}},
timeout=30,
)
response.raise_for_status()
bucket = response.json()["data"]["bucket"]
inbox = bucket["inbound_email"]
print("Bucket ID:", bucket["id"])
print("Email:", inbox["address"])
print("Ready:", inbox["ready"])
print("Open:", bucket["dashboard_url"])
if not inbox["ready"]:
print("Receiving:", inbox["blocked_reason"])
Copy code

Python setup & full example →

using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text.Json;

var apiKey = Environment.GetEnvironmentVariable("REVDOKU_API_KEY") // Get a key at https://app.revdoku.com/account/access
?? throw new Exception("Set REVDOKU_API_KEY first");
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", apiKey);
using var response = await client.PostAsJsonAsync(
"https://app.revdoku.com/api/v1/buckets",
new { bucket = new { title = "My agent inbox" } });
response.EnsureSuccessStatusCode();
using var json = JsonDocument.Parse(await response.Content.ReadAsStringAsync());
var bucket = json.RootElement.GetProperty("data").GetProperty("bucket");
var inbox = bucket.GetProperty("inbound_email");
Console.WriteLine($"Bucket ID: {bucket.GetProperty("id").GetString()}");
Console.WriteLine($"Email: {inbox.GetProperty("address").GetString()}");
Console.WriteLine($"Ready: {inbox.GetProperty("ready").GetBoolean()}");
Console.WriteLine($"Open: {bucket.GetProperty("dashboard_url").GetString()}");
if (!inbox.GetProperty("ready").GetBoolean())
Console.WriteLine($"Receiving: {inbox.GetProperty("blocked_reason").GetString()}");
Copy code

C# (.NET) setup & full example →

## Frequently Asked Questions

### How do I turn off the sparkling Codex input background?

Set `whimsy = false` inside the `[tui]` section of `~/.codex/config.toml`. Save the file, close the current Codex session, and launch `codex` again from your shell.

### What if my configuration already has a `[tui]` section?

Add `whimsy = false` to the existing section while preserving its other settings. If a `whimsy` entry is already present there, update it instead of adding a duplicate.

### Can I put `whimsy = false` at the end of the configuration file?

Only if that position belongs to the `[tui]` section. A heading such as `[tui.model_availability_nux]` starts a different section, so place `whimsy = false` before that heading.

### Do I need to copy the other settings shown in the screenshot?

Only the `whimsy` setting is required for this fix. Leave existing settings alone; the screenshot's `pet` entry and `[tui.model_availability_nux]` section are not part of the instructions.

### Where should I enter the editing and restart commands?

Run `vi ~/.codex/config.toml` at a shell prompt in a separate terminal tab or window. After saving and closing the existing Codex session, run `codex` at the shell prompt to restart it.

### What should I check if the sparks remain after restarting?

Reopen `~/.codex/config.toml` and confirm that your edit was saved inside `[tui]`. Use the unquoted boolean `false`, and make sure you fully closed the previous Codex session before launching a new one.

### Is this setting verified across all Codex versions and operating systems?

The article documents a successful test on macOS with Codex CLI 0.154.0. Other environments remain unverified, and the configuration reference cited in the article did not document `whimsy` at publication.

---

[View the canonical page](https://revdoku.com/blog/how-to-turn-off-sparks-in-the-codex-terminal/) · [Browse llms.txt](https://revdoku.com/llms.txt)
