Everything Has a Switch
Most AI coding agents give you a config file and wish you luck. Elyra gives you a searchable settings menu you can open mid-conversation without losing your place.
Type /settings. A panel appears. Arrow keys to browse, Enter to toggle, start typing to search. Change what you need. Press Escape. You're back in your conversation, nothing lost.
No YAML. No restart. No "please reload for changes to take effect."
What's in there
Twenty-something settings, all taking effect immediately. Here's the tour.
The ones you'll use most
Smart routing decides whether Elyra automatically picks the best model for each turn. A simple question gets a fast, cheap model. A complex refactor gets the heavy one. Toggle it off if you want manual control.
Smart routing ·················· true / false
Thinking level controls reasoning depth for models that support extended thinking. Six levels from off to xhigh. Opens a submenu where you can see what each level means:
off · No extended thinking
minimal · Brief reasoning for simple tasks
low · Light reasoning
medium · Moderate depth (default for complex tasks)
high · Deep reasoning for hard problems
xhigh · Maximum reasoning depth
Auto-compact automatically summarizes the conversation when context gets too large, instead of failing with a context overflow error. You almost always want this on. But if you're debugging a specific long conversation and need every detail preserved, turn it off.
Codebase memory persists what the agent learns about your project across sessions. Architecture decisions, naming conventions, gotchas. Next time you start a session, the agent already knows your project uses the repository pattern and Pest for tests. Turn it off for throwaway sessions where you don't want the agent to remember anything.
Message delivery
Two settings control how messages behave when the agent is already working.
Steering mode — you type something while the agent is streaming. What happens? In one-at-a-time mode, your message is delivered and the agent responds before accepting the next one. In all mode, all queued messages are delivered at once. One-at-a-time is more conversational. All is faster when you're dumping context.
Follow-up mode — same idea, but for follow-up messages (the ones you queue with Ctrl+Enter while the agent is working). One-at-a-time delivers them sequentially. All delivers them as a batch.
The visual stuff
Theme opens a submenu with all available themes. As you arrow through the list, the interface previews each theme live. Pick one. If you cancel, it reverts to what you had.
Show images — if your terminal supports inline images (Kitty, iTerm2, WezTerm), this renders images directly in the terminal. Off by default if your terminal doesn't support it. The setting only appears when the terminal has the capability.
Image width — how wide inline images render, in terminal cells. 60, 80, or 120.
Auto-resize images — shrinks large images to 2000x2000 before sending to the model. Most models handle large images poorly. Leave this on unless you specifically need pixel-perfect input.
Block images — prevents images from being sent to LLM providers entirely. Useful if you're working in an environment where image data shouldn't leave the machine but you still want to see them locally.
Editor padding — horizontal padding in the input editor. 0 through 3. If you like your text flush left, set it to 0. If you like some breathing room, 2 or 3.
Autocomplete max items — how many items show in the autocomplete dropdown. 3 to 20. If you have a lot of slash commands and skills, bump this up.
The niche stuff
Hide thinking — hides the thinking blocks in assistant responses. The model still thinks, you just don't see it. Useful if you find the thinking output distracting and only care about the final answer.
Double-escape action — what happens when you press Escape twice with an empty editor. tree opens the conversation tree browser. fork creates a new branch. none does nothing.
Tree filter mode — the default filter when you open /tree. default shows everything. no-tools hides tool call entries. user-only shows only your messages. labeled-only shows only entries you've labeled.
Skill commands — registers your installed skills as slash commands (/skill:name). Handy if you invoke specific skills often. Clutters the command list if you have many skills.
Hardware cursor — shows the terminal's native cursor in the editor. Some terminals need this for IME (input method editor) support, especially for CJK languages.
Terminal progress — sends OSC 9;4 progress indicators to the terminal tab bar. If your terminal supports it, you'll see a progress indicator in the tab while the agent works.
Clear on shrink — clears empty rows when content shrinks. Prevents ghost text from previous renders, but may cause flicker on some terminals.
Quiet startup — skips the verbose startup output. For when you've seen it enough.
Collapse changelog — shows a condensed changelog after updates instead of the full list.
Warnings — opens a submenu where you can toggle individual warnings on and off. If the Anthropic extra-usage warning is annoying you, turn it off here.
Transport — preferred transport for providers that support multiple options. sse (server-sent events), websocket, websocket-cached (reuses connections), or auto (let the provider decide). WebSocket-cached gives the lowest latency for OpenAI Codex. Most people should leave this on auto.
Everything is searchable
The settings list supports type-to-search. Start typing "think" and the list filters to the thinking level setting. Type "image" and you see all four image-related settings. No scrolling through a 25-item list to find what you need.
Everything persists
Settings are saved to ~/.elyra/agent/settings.json. They survive restarts, updates, and session changes. You set them once and forget about them.
You can also set settings per-project by editing .elyra/settings.json in your project root. Project settings override global settings. Useful when different projects need different defaults — maybe your open source project uses smart routing, but your client project pins a specific model.
The point
A coding agent that you can't configure is a coding agent you'll fight with. /settings is how you stop fighting and start agreeing.
/settings