> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sparkles.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Use the terminal UI

> Open the command menu, use the agent, model, and effort selectors, and read the active session footer.

Run `sparkles` in a repository to open the interactive terminal UI.

## Open the command menu

Type `/` in the composer. The command menu appears above the input and filters as you type.

| Key       | Action                                            |
| --------- | ------------------------------------------------- |
| `↑` / `↓` | Move through visible commands or selector choices |
| `Tab`     | Complete the highlighted command                  |
| `Enter`   | Run the command or confirm a selector choice      |
| `Esc`     | Dismiss the menu or selector                      |

The first entries in the command menu are `/model`, `/effort`, and `/agent`. The menu is intentionally hidden while a tool approval owns the input area; resolve or dismiss that approval before opening `/` again.

## Choose the active agent

Run `/agent` or its alias `/harness` to choose Claude, Codex, Grok, or OpenCode.

The picker shows the installed version of each available harness and marks missing harnesses as `not installed`. Changing harness restarts on a fresh local session because each harness owns its own process and native context. The current conversation does not carry into that restarted local session.

## Choose a model

Run `/model`, select a model, and press `Enter`. The choice applies to the next message.

The list is scoped to the active harness. For example, choose Claude or OpenCode with `/agent` before selecting Fable. See [Models and reasoning effort](/cli/models-and-effort) for the built-in catalog and access rules.

## Choose reasoning effort

Run `/effort`, select a level, and press `Enter`. The available levels depend on the active harness and model.

Choosing a new model keeps the current effort when that model supports it. Otherwise, Sparkles selects the new model's default effort. Models without configurable reasoning do not show effort choices.

Model and effort changes apply to the next message and travel with a cloud handoff.

## Read the footer

The permanent footer shows presence, harness, model, effort, mirroring status, and the command hint. A local Claude session can look like:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
online · claude · claude-fable-5 · ultracode effort · synced · / commands
```

This makes the active execution stack visible without reopening a selector:

* **Harness:** the local agent process, such as `claude`, `codex`, or `opencode`
* **Model:** the model identifier sent to that harness
* **Effort:** the reasoning level sent with the next prompt

## Other useful commands

| Command                  | Action                                                          |
| ------------------------ | --------------------------------------------------------------- |
| `/handoff`               | Continue the conversation in a cloud sandbox after confirmation |
| `/abort` or `/stop`      | Stop the current turn                                           |
| `/expand` or `/collapse` | Toggle complete tool output                                     |
| `/raw`                   | Toggle copy-friendly unstyled rendering                         |
| `/help`                  | Show every command and keyboard shortcut                        |
| `/quit` or `/exit`       | Leave Sparkles                                                  |

Use `Page Up` and `Page Down` to scroll the transcript, `Ctrl+O` to expand or collapse tool output, and `Ctrl+C` to leave the TUI.

## If a selector is missing

1. Check `sparkles --version`; the three selectors require v1.3.0 or newer.
2. Type `/` in the composer rather than opening your shell's command palette.
3. Resolve any pending approval, which temporarily owns the menu area.
4. Make the terminal taller if the command list is clipped.
5. Run `sparkles doctor` to confirm the intended harness is installed.
