Skip to content

Known limitations

On lines containing full-width characters (Japanese, CJK, etc.), the cursor may not land exactly where you clicked.

This is not a Calyx-specific issue. Ghostty’s cursor-click-to-move translates the click position into a sequence of arrow-key inputs counted in terminal cells. Because full-width characters span multiple cells, the translation accumulates rounding error.

There’s no workaround. On lines with many full-width characters, move the cursor with the keyboard instead.

To make the Liquid Glass UI work coherently, Calyx overrides the following keys. Setting them in the Ghostty config file has no effect.

  • background-opacity
  • background-blur
  • background-opacity-cells
  • foreground

The current full list of Calyx-managed keys is shown in Settings under Ghostty Config Compatibility.

background-opacity-cells is still overridden here, but Calyx exposes it: set it from its own switch in Settings under Appearance, described in Glass opacity.

Calyx settles an agent row when the pane’s shell returns to its prompt, and deliberately ignores a command you suspended with Ctrl-Z. fish exposes no way to tell which command a stopped job belongs to, so while any job sits stopped in a fish pane, Calyx treats every later command in that pane as suspended too, and the agent row there stays live instead of settling. Resume the stopped job with fg, or end it, to clear this. The command log is unaffected: each command still records its own real exit code.

Calyx subscribes to the SubagentStart and SubagentStop hooks that Codex documents, but has never managed to capture one from a real Codex run. Subagent rows for Claude Code, Grok, and OpenCode were verified against live sessions; Codex rows may not appear.

Agents hosted by herdr appear in the Agents Sidebar, but Mission Map does not read them. Their panes show up there as dimmed Terminal cards, with no agent name or state.

Usage tracking counts a Claude Code session only if it was started while tracking was on, because Claude Code reads the telemetry settings when it starts. Restart the sessions that were already running. A session that starts and ends while Calyx is not running is not counted at all.

What a counted session used while Calyx was not running is counted when Calyx next hears from that Claude Code process. If the process ended before that, the tokens appear as unreported rows, per model and without effort or thread, dated at the end of that run.

In usage_report, the agents you define yourself appear under the agent type custom, because that is the name Claude Code reports them under.

Calyx does not detect telemetry configured through shell environment variables instead of ~/.claude/settings.json.

If Calyx’s server comes up on a different port after a restart, the Claude Code sessions started before it keep sending to the old port. Restart those sessions.

Before going back to a Calyx version without this feature (0.45.1 or earlier), turn Usage Tracking off so that Calyx removes its settings from ~/.claude/settings.json.

Calyx turns on Secure Keyboard Entry automatically at a password prompt in local persistent sessions, but not in remote sessions. Before typing a password there, turn on Secure Keyboard Entry from the app menu.

Show in the Session Browser cannot focus a herdr TUI running in the Quick Terminal.

Calyx 0.44.0 saves the window layout in a newer format, which also holds Mission Map card positions. Calyx 0.43.0 and earlier discard a layout saved in that format, so going back to one of them after running 0.44.0 or later starts with a fresh window instead of your last tabs and splits.

  • http and https only
  • Non-persistent storage (cookies and local storage are discarded when the tab closes)
  • Popups are blocked automatically

It’s a developer-and-automation view, not a general-purpose browser.