Docs/Troubleshooting

Troubleshooting

Ctrl-B does nothing

If you are inside tmux, Ctrl-B is tmux's own prefix and never reaches Constant. Pick another prefix:

constant host codex --prefix C-t

Codex also uses the Kitty keyboard protocol, so Ctrl-B can arrive as an escape sequence. Constant handles both encodings; confirm what your terminal sends with constant keys.

"Failed to resume" in the target runtime

The target's session loader is a strict parser. The usual cause is a runtime version outside the validated range (codex 0.139.x, claude 2.1.x, opencode 1.14.x), since session formats are private and can change between releases. Run constant doctor to check your versions. In a hosted session this degrades instead of dying: a target that exits within seconds is detected and relaunched fresh, with the carry preserved in the trail.

The terminal looks broken after detaching

Constant restores terminal modes (alt-screen, mouse, bracketed paste, Kitty) on exit. If a child process left the terminal dirty, run reset to recover.

The carried thread is too long

A long conversation can exceed a smaller runtime's context window on carry. The carry is the full thread; summarization-to-fit is not yet implemented.

A /resume to a different conversation is not followed

If you /resume an unrelated conversation inside the hosted child mid-thread, Constant keeps carrying the tracked pair rather than risk hijacking the carry with someone else's session. It is indistinguishable from an unrelated same-directory session.

Tool history did not carry

The default carries the conversation only. Opt in with --with-tools (on carry, host, and resume) to carry tool calls and results — redacted and size-capped. Reasoning never carries. See What carries.

The status bar is missing

The bar auto-disables on very small terminals, and --no-bar turns it off explicitly. On exit, Constant clears the bar row and restores the scroll region on every path.

A projection file was deleted

constant resume reprints one from the conversation's latest record volume automatically, and constant restore <snapshot> does it by hand from any hop. See The record.

Still stuck?

Open an issue on GitHub.