GitDBDocs
GitDB Desktop

The composer and status bar

Sending messages, the send-key preference, attaching images, the status bar and what each word means, notifications, and the permission and approval prompts agents show.

The composer is the message box at the bottom of a thread in the Code view. Below the text area it has, from left to right:

  • Session settings — the CLI, model, effort and permission mode (see Agents),
  • + — attach images,
  • the send-key button, and
  • ↑ — send (on a new thread: start the thread).

Whenever Send is disabled, pointing at it tells you why.

Send key

By default, ⌘↵ sends on macOS and Ctrl+↵ on Windows and Linux, and ↵ (Enter) adds a new line.

If you prefer, click the send-key button next to Send to switch to ↵ sends:

SettingSendNew line
⌘↵ / Ctrl+↵ (default)⌘↵ / Ctrl+↵↵
↵↵ — and ⌘↵ / Ctrl+↵ still send⇧↵ / Shift+↵

The button shows the key that's in force; click it again to switch back. The change takes effect immediately and is remembered on this computer (it isn't tied to your GitDB account). When you're typing with an input method, the Enter that confirms your text never sends the message.

The new-thread box shows the active key in its placeholder: "Describe the task… (⌘↵ to start)".

Attach images

You can add images to a message in three ways: click +, paste an image into the box, or drop image files onto the composer.

  • Formats: PNG, JPEG, GIF and WebP.
  • Limits: up to 5 images per message, 5 MiB each.
  • An image can't be sent on its own: "Add a message — images are sent with text (a turn always has text)".

Each attached image shows as a small preview with × to remove it. If an image can't be attached, the app says why — for example that it's "over the 5 MiB limit per image", or that "At most 5 images can go with one message".

Some limits depend on the CLI:

  • Codex CLI: the model must accept images. If it doesn't, Send is disabled with "Codex model … does not accept images — pick a model that does, or remove the images."
  • Claude Code: a message with images can't start with / (see Slash commands).

Message length

A message can be up to 32,000 characters. When you get close to the limit, a counter appears under the box (for example "29,500 / 32,000 characters"). Over the limit it adds "— too long to send" and Send is disabled. Nothing is ever cut off.

The status bar

The bar along the bottom of the window reports on the open workspace and your agents, whichever view you're in.

On the left:

ItemMeaning
LOCAL · … or GITDB · …The open workspace: a local folder's path, or a GitDB repository. While the app reconnects to your last GitDB repository at startup, it reads GITDB · restoring ….
⑂ mainThe GitDB branch you're on.
2 unsavedOpen files with unsaved edits.
4 WIP (1 unstaged)GitDB repositories only: uncommitted changes waiting in GitDB, and how many of them aren't staged yet.

On the right:

ItemMeaning
codex · … and claude · …One entry per CLI, with a colored dot. The word is explained below. Point at it for the version and details.
agent sessions 1/3How many agent sessions are running, out of the 3 allowed. See Threads and sessions.
Offline modeYou're in offline mode.
UTF-8The text encoding the app uses for files.
TypeScript (etc.)The language of the file open in the File view.
session onlyYou're signed in, but only until you quit — see Sign in and offline mode.

The CLI entries appear after the app has checked for the CLIs (when you open the Code view). Each shows one word:

WordMeaning
logged inInstalled and signed in.
sign-in neededInstalled, but you need to sign in — see Agents.
installedInstalled. For Codex CLI this also shows before Codex has started, when its sign-in isn't known yet.
starting…Codex CLI is starting.
auth unknownInstalled, but its sign-in state couldn't be read.
not installedThe CLI wasn't found — see Install.
unknownThe app got no answer about this CLI.

If Codex CLI stopped, its entry shows the reason instead. It starts again on your next Codex turn.

While a Claude Code thread is selected, the bar can also show that session's live state: rate limit (Claude Code reported a rate limit — point at it for the full message), auth (Claude Code is signing in), thinking with a token count, and Claude Code's own status text. Rarely, it shows a warning such as plan refused when Claude Code refused a permission-mode change — point at it for Claude Code's reason.

Notifications

GitDB Desktop can post desktop notifications while you're working in another window. Click the bell at the top right (Notifications) to choose, under Notify me when:

  • A permission or approval is waiting
  • A turn completes
  • A turn fails

All three are on until you change them. As the menu says, notifications appear "Only while GitDB Desktop is not the focused window." Send test notification posts a sample right away ("Notifications are on. This is what they look like.") so you can check your system allows them.

The notifications you can get:

NotificationWhen
Claude Code needs permissionClaude Code is waiting for you to allow a tool.
Codex CLI needs approvalCodex is waiting for an approval.
Claude Code needs inputAn MCP server is asking you a question on a Claude Code thread. (On Codex threads this arrives as a "needs approval" notification.)
Codex CLI needs MCP sign-inAn MCP server's sign-in expired.
Claude Code finished / Codex CLI finishedA turn completed.
Claude Code turn failed / Codex CLI turn failedA turn failed.
  • Clicking a notification brings the app forward and opens that thread.
  • A notification names the thread and the kind of request — never the command, the tool's input or file contents.
  • Stopping a turn yourself doesn't send a notification.
  • If a turn completes and your queued message goes out straight away, you aren't notified about that completion.

Permission and approval prompts

When an agent needs your OK, a prompt window appears over whatever view you're in. It stays until you answer it (or the agent withdraws the request). If more requests are queued, the window says how many are waiting.

For the first half-second after a prompt appears, its buttons and the Escape key don't respond. That stops a keystroke you meant for something else from answering it. Clicking outside the window does nothing.

How often you're asked depends on the thread's permission mode — see Agents.

Claude Code

The window is titled with the tool's name and says "Claude Code wants to run" the tool "in this workspace", with the details Claude Code sent (such as the path or rule involved) and the tool's input.

ButtonWhat it does
Allow onceRuns this one tool call.
An "always allow" button, such as Yes, allow … or Yes, and don't ask againRuns it and saves the permission Claude Code suggested. Shown only when Claude Code suggests one.
Deny (or press Escape)Refuses the tool call and stops the turn.

When there's an "always allow" button, the window lists what it would save and where: for this project (just you), all projects, this project (shared), or this session.

Codex CLI

The window's title says what Codex wants, for example "Allow Codex to run this command?", "Allow Codex to connect to" a host, "Allow Codex to edit the following files?", "Codex is asking for more access", "Codex needs an answer", or "Allow Codex to run an MCP tool?".

RequestButtons
Run a commandAllow once, Allow this conversation, Allow similar commands, Deny, Stop the turn — only the ones Codex offers for that command
Connect to a network hostas above, plus Always allow or Always deny the host when Codex proposes it
Edit filesAllow once, Allow all edits, Deny, Stop the turn
More accessDeny, Allow for this turn, Allow for this session
A question for youAnswer it, then Send answer
Run an MCP toolAllow once, Allow for this session (when offered), Deny, Stop the turn

Deny refuses just this request — "Codex keeps working on the turn". Stop the turn refuses it and stops the turn. Escape counts as Deny when Deny is offered.

On this page