Releases: E-Rail/ccmgr
Release list
v0.1.11
Move a session to another folder — Ctrl+O
Claude Code files sessions by working directory, so a session can only be
resumed from the folder it was recorded in. Ctrl+O moves one somewhere else.
The prompt starts at the folder the session is in now, so moving it nearby is
a matter of editing the tail. ~ is expanded and a relative path resolves
against wherever you ran ccmgr.
The folder is checked before anything is touched. It has to already exist
and be a folder; if it isn't, that's reported and nothing moves.
Every reference to the old folder inside the session is rewritten — not
just the cwd on each record, but the paths in the transcript too, so they
still point at real files after the move.
Replacement is matched at path boundaries rather than as a plain substring:
moving ~/work/app leaves ~/work/app-2, ~/work/apps and ~/work/app.bak
alone. A naive find-and-replace would silently corrupt all three.
Safety
- The rewritten session is put fully in place, and the file-history sidecar
moved with it, before the original is unlinked — an interrupted move leaves
the session where it was rather than losing it. - An existing session at the destination is never overwritten.
- Moving to the folder a session is already in is refused, not repeated.
Also
- The hint bar now reads
↑/↓ selectinstead of↑/↓ move, so "move" means
only one thing.
Nothing else changed, and no config is affected — upgrading is a drop-in
replacement.
v0.1.10
Titles carry the color now, and everything supporting them recedes into grey —
matching how Claude Code's own session picker reads.
What changed
- The top rule, the heading and the selected session are bright blue (they
were yellow and cyan in v0.1.9). - Unselected session titles keep the terminal's default foreground, so they
read as white on a dark terminal. - Details, hints, the project label and the search placeholder are grey.
Bright blue rather than plain blue because ANSI blue is very dark on most
schemes and hard to read against a dark background.
New muted key
Previously text colored both session titles and every supporting line, so
titles could not be emphasized without lifting the details along with them.
Supporting text now has its own muted key:
[theme]
accent = "light-blue" # the rule, the selected session, "You" labels
title = "light-blue" # the heading, and "Claude" labels in a preview
text = "reset" # unselected session titles, preview messages
muted = "dark-gray" # details, hints, the search placeholder
border = "dark-gray" # box borders
danger = "red" # delete confirmation and error status
background = "reset" # the terminal's own backgroundThis is an added key, so existing configs keep working unchanged.
As in v0.1.9, these are terminal palette entries rather than fixed RGB, so
your color scheme recolors ccmgr along with everything else. Naming an
explicit color such as "#b0b9f9" pins it instead.
Install
curl -fsSL https://e-rail.github.io/ccmgr/install.sh | bashExisting installs can run ccmgr update.
v0.1.9
ccmgr now draws itself in your terminal's own colors.
Terminal palette instead of fixed RGB
Every default color used to be a hardcoded RGB value, which overrode whatever
color scheme you had configured — ccmgr looked like ccmgr rather than like the
rest of your terminal.
The defaults are now palette entries: reset for body text and the
background, plus cyan, dark gray, yellow and red for the accents. Solarized,
Gruvbox, Dracula, light schemes, dark schemes — they all recolor ccmgr along
with everything else, because ccmgr is asking for palette slots rather than
specific colors.
This also replaces the OSC 11 background-color query added in v0.1.7. Palette
colors already follow the terminal in both directions, so there was nothing
left to detect. The appearance setting is gone with it, the libc
dependency is dropped, and startup no longer waits on a terminal reply.
Pinning an exact palette
Configured colors still override any default, so naming a color pins it to
exactly that value. This restores the fixed palette used before v0.1.9:
[theme]
background = "#282c34"
accent = "#b0b9f9"
text = "#999999"
border = "#949699"
title = "#da7756"
danger = "#e06c75"Colors accept "reset", names such as "cyan", palette indexes such as
"5", and RGB hex values.
If your config sets appearance, remove that line — unknown keys are
rejected, so ccmgr will refuse to start until you do.
Install
curl -fsSL https://e-rail.github.io/ccmgr/install.sh | bashExisting installs can run ccmgr update.
v0.1.8
A small polish release on top of v0.1.7.
Tighter separators
The · separators were padded with two spaces on each side, which left the
session details line looking gappy:
just now · main · 349B · /tmp/project
They now use a single space on each side:
just now · main · 349B · /tmp/project
This applies everywhere the separator appears — session details, the
browsing and rename hints, and the preview controls — so the spacing stays
consistent, and more of the hint bar fits before it truncates.
Install
curl -fsSL https://e-rail.github.io/ccmgr/install.sh | bashExisting installs can run ccmgr update.
v0.1.7
ccmgr now looks right on light terminals, and stops painting over dark ones.
No more forced background
Previous versions filled the screen with a dark charcoal background. ccmgr
no longer paints a background at all, so your terminal's own background —
including transparency and background images — shows through.
Light and dark detection
At startup ccmgr asks the terminal for its background color (an OSC 11
query) and picks a palette that stays readable against it. Terminals that
don't answer fall back to COLORFGBG, and then to dark.
The dark palette is unchanged from v0.1.6. The new light palette is the same
palette darkened until every color clears WCAG AA contrast against white —
the old pale accent was nearly invisible on a light background.
The query is bounded by a device-attributes query that every terminal
answers, so terminals that ignore OSC 11 add about 13ms to startup rather
than waiting out a timeout.
Configuration
Detection can be skipped, and individual colors still override whichever
palette is chosen:
appearance = "dark" # or "light", or "auto" (the default)
[theme]
title = "#da7756"
background = "#282c34" # opts back into a painted backgroundSee the README for the full list of colors.
Install
curl -fsSL https://e-rail.github.io/ccmgr/install.sh | bashExisting installs can run ccmgr update.
v0.1.6
- Add an optional TOML config file so every UI color is customizable. Missing values fall back to the built-in theme.
- Linux:
$XDG_CONFIG_HOME/ccmgr/config.toml(or~/.config/ccmgr/config.toml) - macOS:
~/Library/Application Support/ccmgr/config.toml - Or set
CCMGR_CONFIGto point at a specific file.
- Linux:
- Add a session preview: press
Spaceto read the selected session's transcript, scroll with the arrow/Page keys,Enterto resume,Escto close. - Keep the heading a single, solid, customizable
titlecolor (default Claude orange) instead of a gradient.
v0.1.5
- Separate sessions with a blank line so the list reads more clearly.
- Simplify the heading to a solid color titled "ccmgr - Claude Code Session Manager".
v0.1.4
- Redesign the TUI with a dark charcoal theme, muted-gray text, and a bold orange heading.
- Fix small-terminal layout bugs: the session list, project label, and the delete-confirmation prompt now stay visible on short terminals, and the UI keeps a uniform margin so it never touches the outermost rows or columns.
v0.1.3
- Redesign the TUI to match Claude Code's own session picker: rounded search bar, arrow selection marker, and a cleaner top-aligned layout.
v0.1.2
- Add the
ccmgr updatecommand to upgrade an installed binary in place to the latest release.