Navigation
The Cosine CLI features an intuitive terminal-based user interface (TUI) with three main areas: the Sidebar Panel, the Timeline, and the Chat Input. This guide covers keyboard navigation, shortcuts, and how to move between different views.
Customize shortcuts
Section titled “Customize shortcuts”Open the Command Centre with Ctrl+P, type shortcuts, and choose Keyboard shortcuts.
You can also use the left or right arrow to select the Shortcuts tab.
- Select an action with the up and down arrows and press
Enter. - Select an existing shortcut and press
Enterto change it, or pressato add another. - Press the key combination you want to use. The editor shows what the CLI received.
- Press
Enterto save, orEscto cancel recording.
Changes apply immediately. Each action can have multiple shortcuts. In an action’s shortcut list, Delete removes
only the selected shortcut. Press Esc to return to the actions list, where Delete unbinds the whole action.
Press r in either list to restore that action’s platform defaults.
If another action uses the combination in the same context, the editor shows a conflict and keeps your previous setting.
Menu navigation and Esc to cancel editing remain available. Terminal and operating-system shortcuts are configured in those apps.
Your settings are saved in keybindings.json under your Cosine home directory. This is $COSINE_HOME when set,
otherwise %APPDATA%\cosine on Windows or ~/.cosine on macOS and Linux. The editor shows the exact path.
The file stores only overrides, for example:
{ "version": 1, "bindings": { "open_settings": ["f8", "f9"], "copy_selection": ["ctrl+shift+c", "ctrl+c"] }}You can edit the file while the CLI is closed. Use an empty array to disable an action, or remove an entry to restore its defaults. Invalid files show an error in the Shortcuts tab and are preserved so you can repair them.
Save your current setup
Section titled “Save your current setup”Press Ctrl+S on Home or in the main conversation to Save current setup as default. You can also search save setup in the Command Centre, or choose Settings → Defaults → Save current setup as default. A Setup saved as default notification confirms success; an error appears if saving fails.
This saves the current main and review models (including their providers), reasoning level, mode, system prompt and auto-accept choice to your active personal profile. Settings, Agents and Shortcuts changes already save as you make them and remain in place, including auto-copy, appearance, browser preferences and custom keybindings. Future launches of that profile use these defaults unless you supply an overriding launch flag. Conversation drafts, running tasks and temporary Swarm/MultiPlan overrides are not part of the saved setup.
The save current setup as default action supports multiple custom keys in Shortcuts. If an older custom action already uses Ctrl+S, it keeps that key; use the command or assign Save setup another shortcut. Inside a model or reasoning picker, Ctrl+S still saves that picker’s highlighted choice.
Platform defaults
Section titled “Platform defaults”These are all the actions whose defaults vary by platform. The first shortcut in each cell is the primary one; the others are alternatives. Keys work when the terminal forwards them to Cosine.
| Action | macOS | Windows | Linux |
|---|---|---|---|
| Select all prompt text | Ctrl+Shift+A | Ctrl+A, Ctrl+Shift+A | Ctrl+Shift+A |
| Copy selected text / Home prompt | Ctrl+Shift+C, Ctrl+Insert | Ctrl+C, Ctrl+Insert, Ctrl+Shift+C | Ctrl+Shift+C, Ctrl+Insert, Ctrl+C |
| Paste text or image | Cmd+V, Ctrl+V, Shift+Insert | Ctrl+V, Shift+Insert, Ctrl+Shift+V | Ctrl+Shift+V, Shift+Insert, Ctrl+V |
| Move back one word | Option+Left, Option+B | Ctrl+Left, Alt+Left, Alt+B | Ctrl+Left, Alt+Left, Alt+B |
| Move forward one word | Option+Right, Option+F | Ctrl+Right, Alt+Right, Alt+F | Ctrl+Right, Alt+Right, Alt+F |
| Delete previous word | Option+Backspace, Ctrl+W | Ctrl+Backspace, Alt+Backspace, Ctrl+W | Ctrl+Backspace, Alt+Backspace, Ctrl+W |
| Delete next word | Option+Delete, Option+D | Ctrl+Delete, Alt+Delete, Alt+D | Ctrl+Delete, Alt+Delete, Alt+D |
On Mac keyboards, Backspace is usually labelled Delete; forward Delete may require Fn+Delete.
The JSON file uses super for Command and alt for Option. Other action defaults stay the same across platforms,
including Enter to send, Shift+Enter / Alt+Enter / Ctrl+J for a newline, Ctrl+P for the Command Centre,
and Ctrl+C to interrupt or quit. The Shortcuts tab lists every current binding.
Defaults follow the OS running the CLI. When using SSH from a different OS, set COSINE_KEYBOARD_PLATFORM to
macos, windows, or linux before launching Cosine to choose your keyboard’s defaults. Saved custom shortcuts take
precedence for their actions; resetting an action restores the selected platform’s defaults.
Editing a prompt
Section titled “Editing a prompt”Undo with Ctrl+Z. Redo with Ctrl+Y or Ctrl+Shift+Z. Select all text in the focused prompt with
Ctrl+Shift+A (or Ctrl+A on Windows), then type, paste, or press Backspace to replace or delete it.
These actions work on Home, in the main conversation prompt, and in side chats. Select-all highlights the prompt;
it does not copy automatically. Use your copy shortcut to copy that selection.
Find undo prompt edit, redo prompt edit, and select all prompt text in the Shortcuts tab to change
or add bindings. On macOS, use the Control key for these defaults: terminals often reserve Command shortcuts for
their own UI. You can assign Command combinations if your terminal forwards them. Ctrl+A still moves to the beginning
of the line on macOS and Linux.
Undo history covers the current draft’s text and cursor. A replacement or paste is one edit, and typing after undo
clears redo. Sending or loading a different draft clears its history. Adding or removing an attachment also clears
text history, so undo cannot restore an attachment marker without its file. It does not undo sent messages or code changes.
Queue uses Ctrl+Q; agent actions use Ctrl+Alt+A. Previously saved custom bindings keep their assigned keys.
Copying and exiting
Section titled “Copying and exiting”Selecting text copies it automatically when you release the mouse in the Home prompt, conversation, and side chats. The CLI briefly shows ✓ Copied to clipboard automatically, and the text stays highlighted so you can copy it again. Double-clicking a word or triple-clicking a line in the conversation also copies it. Single clicks and empty selections leave your clipboard unchanged. Clicks and scrolling keep working normally.
Copy on select defaults to On. Press Ctrl+P, search copy or auto copy, and choose
Copy on select (auto-copy) to jump to the switch in Settings → Clipboard. Press Enter to turn it Off
and keep copying manual. The setting applies immediately and persists across launches. You can also set copy_on_select = false
under [config] in your personal config.toml to turn it off, or true to turn it on.
An explicitly saved preference is preserved when you update Cosine. If only a terminal copy request can be sent,
the feedback says so instead of confirming that the clipboard was updated.
On Windows and Linux, Ctrl+C also copies the selection. The selection stays
highlighted, so repeated Ctrl+C presses keep copying. Press Esc or click elsewhere to clear it.
With no selection, Ctrl+C interrupts a running task. When idle, it opens the quit confirmation; press Ctrl+C again to exit.
On macOS, Cosine uses Ctrl+Shift+C or Ctrl+Insert for manual copying. Cmd+C is a terminal-native shortcut, so it is not a default CLI binding. Ctrl+C continues to interrupt or quit even when text is selected.
Some terminals, including Warp, handle Cmd+C themselves and cannot see Cosine’s own highlight. With the default
Copy on select setting, your text is already copied before you press Cmd+C. If you turn automatic copying off,
use a copy shortcut your terminal forwards, such as Ctrl+Shift+C, or assign another combination to
copy selected text / Home prompt. The Home prompt also has a clickable Copy action.
The selection hint shows auto-copy on while automatic copying is enabled, or your configured manual copy shortcuts when it is off.
An explicitly assigned Cmd+C binding is preserved, but only works if your terminal forwards that key.
Cosine’s selection and the terminal’s own selection are separate. To select terminal-owned text while mouse reporting
is enabled, hold Shift while dragging in Warp
or Windows Terminal. Release Shift, then use the terminal’s Copy action (Cmd+C in Warp on macOS).
Normal clicks and scrolling still work in Cosine. Ordinary dragging followed by Cmd+C in Warp remains subject to
Warp’s copy-forwarding limitation; changing a Cosine shortcut cannot make Warp forward a key it consumes.
Mac Terminal’s native copy shortcut is Cmd+C.
The shortcut tables below describe defaults; your Shortcuts tab shows your current bindings.
Interface Overview
Section titled “Interface Overview”┌─────────────────────────────────────────────────────────────────────┐│ Timeline (Main Chat) │ Sidebar Panel ││ │ (Overview, ││ User: How do I refactor this? │ Terminals, ││ │ Cloud, ││ Assistant: Here's the solution... │ Changes) ││ ┌─────────────────────────────┐ │ ││ │ Tool: code_edit │ │ ││ │ File: src/utils.ts │ │ ││ └─────────────────────────────┘ │ ││ │ │├───────────────────────────────────────────┬─────────────────────────┤│ [Shift+Tab] Mode: Auto > Type message │ [Ctrl+P] Tools │└─────────────────────────────────────────────────────────────────────┘The Three Main Views
Section titled “The Three Main Views”1. Sidebar Panel (Right Side)
Section titled “1. Sidebar Panel (Right Side)”The panel provides contextual information and tools across four tabs:
| Tab | Shortcut | Description |
|---|---|---|
| Overview | Ctrl+1 / Alt+1 | Repository structure and context files |
| Terminals | Ctrl+2 / Alt+2 | Active terminal sessions and output |
| Cloud | Ctrl+3 / Alt+3 | Background agent tasks and subagents |
| Changes | Ctrl+4 / Alt+4 | Git diff and file changes |
Panel Controls:
Ctrl+/- Toggle panel visibility on/offCtrl+``(backtick) - Toggle focus between panel and chatTab/Shift+Tab- Cycle between sections (when panel is focused)Left/Right- Switch between panel tabs (when panel is focused)
2. Timeline (Center)
Section titled “2. Timeline (Center)”The timeline displays the conversation history, including:
- User messages
- Assistant responses
- Tool calls and their results
- Terminal output
- Plans and todo lists
- Reasoning blocks
3. Chat Input (Bottom)
Section titled “3. Chat Input (Bottom)”The text area where you type messages to the AI agent.
Timeline Navigation
Section titled “Timeline Navigation”The timeline supports powerful keyboard navigation for reviewing past conversations and copying content.
Navigating Between User Messages
Section titled “Navigating Between User Messages”When the timeline is focused, use these keys to jump between user messages:
| Key | Action |
|---|---|
↑ (Up) / k | Jump to previous user message |
↓ (Down) / j | Jump to next user message |
Space | Expand/collapse assistant response under selected user message |
c | Copy the assistant’s response to clipboard |
How it works:
- Press
Tabuntil the timeline is focused (or click in the timeline area) - Press
↑or↓to navigate between your past questions/prompts - The assistant’s response to that message is highlighted
- Press
cto copy the entire assistant response to your clipboard - Press
Spaceto expand or collapse the response for easier reading
Scrolling the Timeline
Section titled “Scrolling the Timeline”General scrolling works from any view:
| Key | Action |
|---|---|
PgUp / Ctrl+U | Scroll up one page |
PgDn / Ctrl+D | Scroll down one page |
Home | Jump to top of timeline |
End | Jump to bottom of timeline |
Pro tip: When your cursor is in the input box and it’s empty, the Up/Down arrows automatically scroll the timeline instead of moving the cursor.
Execution Block Navigation
Section titled “Execution Block Navigation”Execution blocks are groups of related activities (tool calls, terminal output, reasoning). You can navigate between them:
| Key | Action |
|---|---|
Shift+↑ | Select previous execution block |
Shift+↓ | Select next execution block |
Ctrl+O | Toggle expand/collapse selected execution block |
Section Navigation
Section titled “Section Navigation”Cycle between the main interface sections:
| Key | Action |
|---|---|
Tab | Move focus to next section (Input → Timeline → Panel → Input) |
Ctrl+Tab | Quickly focus the chat input from anywhere |
Common Actions
Section titled “Common Actions”Queue or Nudge a Follow-up While Cosine Is Running
Section titled “Queue or Nudge a Follow-up While Cosine Is Running”When Cosine is already working, you can still add another message:
| Key | Action |
|---|---|
Enter | Nudge the current run with a follow-up message |
Ctrl+Q | Queue a new follow-up to run after the current rollout finishes |
Use a nudge when you want to influence the run in progress. Use a queue when you want Cosine to finish the current work first and then start a fresh follow-up turn.
When this is available, the input area shows a hint on the right side:
ctrl+q to Queue / enter to NudgeCopy to Clipboard
Section titled “Copy to Clipboard”| Key | Action |
|---|---|
y | Copy selected assistant output (timeline focused) |
The copy action shows a brief visual confirmation when successful.
Expand/Collapse Content
Section titled “Expand/Collapse Content”| Key | Action |
|---|---|
Space | Expand assistant response under selected user message |
p | Toggle plan visibility |
Ctrl+O | Toggle execution block |
Review a Plan
Section titled “Review a Plan”Open your task’s saved plan with Alt+P or /plan-view. The Markdown remains available after implementation begins. Visuals, history, editing and side chats must be enabled for your account.
| Key | Action |
|---|---|
↑ / ↓ | Scroll the plan |
Page Up / Page Down | Scroll one page |
v / b | Generate or open a visual snapshot in your browser |
m | Export Markdown; the footer shows the file path |
e | Edit Markdown in your configured editor |
h | View plan history |
d | Discuss the plan in a side chat |
? | Show more plan actions |
Esc | Return to the task |
You can review the Markdown while a visual is generating or if generation fails. Return to the task to approve the current plan. Viewing, editing or exporting a plan does not approve implementation.
Browser snapshots work offline. Open a new snapshot after revising the plan to see the latest version.
Tool Confirmation
Section titled “Tool Confirmation”When a tool requires confirmation:
| Key | Action |
|---|---|
y / Enter | Confirm and execute tool |
n / Esc | Reject tool execution |
Mode Switching
Section titled “Mode Switching”Switch between AI operation modes:
| Key | Action |
|---|---|
Shift+Tab | Cycle through modes: Normal → Auto → Plan → Swarm |
Modes explained:
- Normal: Ask for confirmation before each mutating action (default)
- Auto: Automatically execute all tools without confirmation
- Plan: Read-only planning — explore code and create a plan before executing
- Swarm: Multi-agent orchestration with parallel subagents
For a detailed explanation of each mode, see Modes.
Quick Reference: Essential Shortcuts
Section titled “Quick Reference: Essential Shortcuts”| Shortcut | Action |
|---|---|
Ctrl+C | Copy selected text, otherwise interrupt or quit |
Ctrl+\ | Ask Cosine to answer now with its current progress |
Esc | Cancel operation or close dialog |
Enter | Send message (when in input) |
Ctrl+Q | Queue a follow-up while Cosine is running |
Shift+Enter / Ctrl+J | New line in input (without sending) |
Ctrl+Tab | Focus chat input |
Ctrl+/ | Toggle sidebar panel |
Ctrl+P | Open tools/settings |
Ctrl+E | Open the transcript overlay |
Ctrl+L | Open event log (debug mode) |
? | Open keyboard shortcuts help |
Answer now
Section titled “Answer now”If Cosine is still reasoning and you want the current best answer immediately, press Ctrl+\. This interrupts the longer reasoning cycle and asks Cosine to respond with what it has so far.
Tips for Efficient Navigation
Section titled “Tips for Efficient Navigation”- Quick copy workflow: Press
Tabto focus timeline,↑/↓to find the message,cto copy - Hide panel for focus: Use
Ctrl+/to hide the panel when you want more space for the conversation - Navigate while typing: Use
Ctrl+Tabto jump back to input from anywhere - Review tool results: Use
Shift+↑/Shift+↓to jump between execution blocks - Scroll hands-free: When not typing, Up/Down arrows scroll the timeline; when typing in empty input, they also scroll
Compare Plan Revisions
Section titled “Compare Plan Revisions”Open the plan with Alt+P or /plan-view, then press h to view its temporary review history. Press n to start a new history collection during planning or review. Subsequent Markdown changes add snapshots; chat messages and visual refreshes do not.
- Use
↑and↓to select a revision to compare with the current plan. - Use
Page UpandPage Downto scroll through the diff. - Press
rto restore the selected Markdown as a new revision for approval. This does not start implementation or undo code changes. - Press
Escto return to the plan.
Accepting or rejecting the plan, or closing its plan discussion, removes the comparison history. The latest plan remains saved. History holds up to 64 snapshots within an 8 MiB limit and shows a notice when older snapshots are removed.
Edit Plan Markdown
Section titled “Edit Plan Markdown”While a plan is awaiting review, open it and press e. Cosine uses VISUAL, then EDITOR, falling back to vi on macOS/Linux or Notepad on Windows. For a graphical editor, configure it to wait until editing finishes, such as EDITOR="code --wait".
Save and close the editor to submit your changes for review. Editing does not approve implementation. If saving fails or conflicts with a newer revision, the footer shows where your draft is saved.
Side Chats
Section titled “Side Chats”Use /btw to discuss the current task separately. To discuss a plan, open the plan viewer and press d.
Side chats can read code, search files and query supported language servers. They cannot edit source, run shell commands or delegate implementation. The main task continues independently. If a task has no completed conversation checkpoint yet, wait for a response to finish before opening a side chat.
| Key | Action |
|---|---|
Enter / Ctrl+Enter | Send a message |
Shift+Enter | Insert a new line |
Ctrl+O | Open side-chat actions |
Esc | Return to the task, keeping the discussion |
Page Up / Page Down | Scroll the discussion |
To revise a plan, write the change and choose Request plan change… from Ctrl+O. You can also send a clear request such as “Update the plan to keep validation synchronous.” Questions and alternatives leave the plan unchanged. Wait for the revised plan before requesting another change; revisions still need implementation approval.
The actions menu also lets you:
- Keep as side chat: detach a plan discussion from its review and continue it as a temporary side chat.
- Fork as new task: save and open an independent task from the discussion once its response finishes.
- Close and discard side chat: remove the temporary discussion after confirmation. Applied plan changes remain with the main task.
Returning to the task keeps your discussion, draft and scroll position. Temporary chats can recover after a restart for up to 24 hours after their last active runtime. Accepting or rejecting a plan closes the old discussion’s ability to revise it.
See Also
Section titled “See Also”- Overview - General documentation for this section
- Queueing and Nudging - Add follow-up messages while Cosine is already running
- Configuration - Customize keybindings and behavior
- Browser Automation - Using Chrome with the CLI