The prompt is where you write to a session; the timeline above it shows what the session does. For starting, steering, compacting and forking sessions, see Sessions.


| Key | Action |
|---|---|
Enter |
Send; while the session works, add the prompt to its queue |
Shift+Enter |
New line |
Ctrl+Enter (Cmd+Enter on macOS) |
Send now: steer the running turn (CodeAlta TUI: Ctrl+Enter) |
F8 |
Stop the running turn |
F6 |
Open the larger prompt editor; Esc or Ctrl+Enter closes it and keeps the draft |
F10 |
Clear the queue |
Alt+= (Ctrl+Alt+= on macOS) |
Write or edit an equation (CodeAlta Desktop) |
Queued prompts can be edited, repeated, sent at once to steer, or deleted. When a provider cannot steer a running turn, the prompt waits for the next turn. See Busy sessions and queues.
In CodeAlta Desktop, the line above the editor shows:
Click the project or the branch for the Workspace popover: switch the branch, copy the path or open it in your external editor or file manager, View changes, Pull request (asks the session for one), Open editor and Open terminal.
The ⋯ menu holds Session info (a report of the session for troubleshooting or handoff), Reminders, Remote Control, Compact the conversation, Archive, Expand prompt editor, Insert equation, N active providers and, while the session works, Steer the running turn and Enqueue for the next turn. A number or a dot on ⋯ says something inside needs you.
Prompt cache. For Claude Code, the Anthropic API, the Claude models of Copilot, the OpenAI API and Codex, a timer such as 37m says how long the provider keeps the conversation in its cache: a message sent before then costs a fraction of the input price. It turns yellow in its last three minutes, then reads expired. Claude Code keeps the cache one hour, the Anthropic API and Copilot five minutes (one hour with that setting), the OpenAI API and Codex 30 minutes. See Prompt caching.
In CodeAlta Desktop, the Agent chip opens one picker for the agent prompt, the provider, the model, the reasoning effort, the permission mode and review before commit.
Enter. Model tiers come first, with the model each gives now, then Adaptive, where CodeAlta chooses the model of each turn. Settings > Models sets how many models the list shows.
The picker of a new session has the same rows, except the model options: the session starts with your choices, and the next new session of the project starts from them, except More options, which are for that session only.
Agents use the same choices: alta session choices <session-id> lists the models, efforts, agent prompts, permission modes and sandboxes of a session, and alta session send and alta session queue take --model, --reasoning, --prompt-id, --permission-mode and --sandbox.
The Permissions row of the picker sets what the session asks before it acts. The shield on the chip is green for Ask first, blue for Accept edits and Auto, yellow for the modes that ask nothing.
| Mode | What the session does |
|---|---|
| Ask first | Asks before it runs a command or changes a file |
| Accept edits | Changes files without asking; asks before commands |
| Bypass permissions | Runs commands and changes files without asking |
| Auto (Claude Code only) | Claude Code decides for each request |
| Don't ask (Claude Code only) | Runs what Claude Code's own settings allow and refuses the rest |
alta session create --permission-mode <mode> (default, acceptEdits, bypassPermissions, and for Claude Code auto and dontAsk), never one that asks less than its own.

@ picker searches project files and folders, then inserts accepted entries as structured prompt attachments.Type @ in the prompt to search the files and folders of the project. An accepted entry becomes a Markdown link and is sent as an attachment. You can also type references, with an optional line range:
@src/CodeAlta.Tui/Program.cs
@"src/path with spaces/file.cs":10-40
Esc closes the picker for that @; put the caret right after it and press Ctrl+Space to open it again. The # issue picker works the same way. Ctrl+E or /edit opens the same picker to edit a file in the code editor.
Attach only what the task needs: focused context is easier to review and compacts less often.
CodeAlta Desktop shows LaTeX math in messages and documents: $…$ or \(…\) in a line of text, $$…$$, \[…\] or a math code block on lines of their own, and the equation and align environments. Chemistry is written \ce{2H2 + O2 -> 2H2O}. A price such as $5 and $10 stays text. A formula that cannot be read shows its LaTeX in red, with the reason under the pointer.
Alt+= (Ctrl+Alt+= on macOS), /equation or Insert equation in the ⋯ menu. Type the formula as it looks (/ makes a fraction, ^ a superscript, sqrt a root, alpha a Greek letter) or open its keyboard of symbols; its LaTeX is kept below it, and can be edited there. Choose Inline or Display, then Insert (Ctrl+Enter). With the caret in a formula, the editor opens on it and Replace writes it back.
Alt+= on a formula of the prompt, which is drawn above the caret as it is written.Footnotes are written [^1] with their note [^1]: The source., or ^[a note] in the text: the number goes to the note, and ↩ back.
CodeAlta TUI shows formulas and footnotes as written.
A Claude Code session can be followed and driven from claude.ai or the Claude app on your phone. Turn it on with Remote Control in the ⋯ menu of the prompt or in the menu of the session. Its icon is green when on and red when failed. Its popover has the link of the session, a QR code for your phone, and Turn off.
While it is on, a prompt sent from claude.ai runs as yours, a permission request is asked on both sides (the first answer wins), and stopping there stops the session; questions of the agent are asked in CodeAlta only. If Claude Code stops, your next prompt or Try again connects again.
To have Claude Code run a session on Anthropic's machines rather than on this computer, see Run in the cloud.
Remote Control needs Claude Code signed in with your claude.ai account, not an API key. Closing CodeAlta ends it, and the session stays offline in claude.ai until you archive it there. Settings > General > Startup and closing can turn it back on at startup.


The timeline shows:
mermaid block is drawn as a diagram (or stays code, with the reason, when it cannot be read), and formulas and footnotes are drawn. A picture on disk that a message shows (, a PNG, JPEG, GIF, WebP or BMP file) is drawn in the message: click it to open it in a window with Copy image, its path with Copy path, and a button that shows the file in its folder. Ctrl+click (Cmd+click on macOS) opens the file in the code editor;| Key | Action |
|---|---|
F3 / F4 |
Previous / next message |
Ctrl+F3 / Ctrl+F4 |
First message / back to the bottom |
Arrows, Page Up, Page Down, Home, End |
Scroll, after a click in the timeline (desktop) |
CodeAlta Desktop opens a session on its latest messages; earlier turns load as you scroll up. Load all messages, at the top, loads them all; Stop keeps what was loaded.
A very long message shows its start, with a line that says the rest is too long to show there: Show the whole message reads the rest.
In CodeAlta Desktop, the work between two messages (reasoning, tool calls, jobs) takes one line, with the latest thought of the model and counts of thoughts, calls, failures, lines changed and time. While the agent works, it shows the last three steps. Images the model read show under it as thumbnails. Click the line to unfold it. Settings > Appearance turns off Focused timeline and Images under folded lines.
Settings > Appearance > Entry appearance (off by default) dims the entries you read less: its preset shows intermediate answers and tool calls at 70%, and reasoning, system prompts, status and plugin cards at 50%, at full strength under the pointer. Errors and requests that need you are never dimmed. Customize sets the opacity, tint, border and shadow of each entry type; Reset all restores the preset.
In CodeAlta Desktop, drag an edge of the prompt to narrow or widen the conversation, which stays centered; double-click it for the whole width. The width, 75% by default, is the same for every session (Settings > Appearance > Width of the conversation). An agent you ask ("show this conversation at 70%") changes its own session only.


A tool call has one tile showing the tool, what it works on, its state and its output; a running command shows its last line. In CodeAlta Desktop, click a tile to open the call, which follows it while it runs:
The line under the title gives the duration, the exit code and the lines changed. Details shows the raw arguments and result. In CodeAlta TUI, a tile opens a dialog with the details and output.
The agent gets a bounded part of a long result, which stays in every later request:
The window of a command still shows you its whole output.
The timeline has a line for the system prompt of the session, and one each time it changes, with the agent prompt, its size in tokens and the lines changed. In CodeAlta Desktop, click it: Changes compares it with the one before, and Prompt shows what was sent, with a button to copy it as Markdown.
Each session has Markdown notes its agent keeps up to date: a checklist, a status, next actions. CodeAlta Desktop shows them in a Notes window over the timeline that you can move, resize, collapse into a tab, copy and clear; Ctrl+Shift+N or /notes hides or shows them. CodeAlta TUI shows them in the Notes panel of the sidebar.




Open it with the context ring below the prompt, or Ctrl+G Ctrl+U. It shows the size of the context window, what is used, how close the session is to compaction, and what the provider reports.
When the provider reports no token usage, as some ACP agents do, CodeAlta estimates the context from the conversation: the count starts with ~ and the window says Estimated.
Session info, in the ⋯ menu (or Ctrl+G Ctrl+T), reports the scope, provider and model, run and queue state and history of the session, for troubleshooting or a handoff.