Repository navigation
Thanks
- @Randalix for auto-compact and auto-clear that see the whole context (#777), and for the measurements in #585 that showed why they did not.
- @JDProfresh for the report and the change that lets the File Viewer edit
.envfiles (#796, #797). - @aakhter for the Copy Markdown button in the response viewer (#810).
- @DodgyBadger for the File Viewer button that follows its setting on a phone (#759, #809).
- @timkjr for omp tool approvals that raise an alert (#798).
- @irisitymichaelgrundberg for finding why Firefox still pasted twice (#799).
What's new
Local models: a library, more models, and the coding agent you choose (#803, #804, #806, #807, #808)
Run a local model (on a Mac) now lists every model that fits instead of five, with two new ones: Muse Glimmer 30B, the first of its class a 32 GB Mac can hold, and Ornith 1.0 9B, the first model that fits a 16 GB Mac. Installed models form a library: each shows its size on disk, and you can add another, switch between them or delete one. You pick the coding agent when you start a session (OpenCode, Claude Code, Pi or DeepSeek Harness), and a missing one installs from the same screen. The codeman skill starts a local worker with the agent you name (spawn_worker <name> local:pi), and the wiki has a new Local Models page. Still experimental.
Mac app: With the Lid Closed no longer asks for a password
Codeman > Keep This Mac Awake > With the Lid Closed is a plain switch now. 1.50.1 asked for your administrator password and installed a small root helper for it. The app now does what LogoLight does: it turns off macOS's sleep-on-lid-close itself while your agents work, and turns it back on when they stop, when the app quits or crashes, and on battery. If you ticked With the Lid Closed in 1.50.1, it keeps working after the update, and the old helper does nothing any more. Remove it with Codeman > Keep This Mac Awake > Remove the Old Lid Helper… (that asks for your password one last time). If the Mac ever sleeps under the lid anyway, the status line in the same menu says until when.
Auto-compact and auto-clear see the whole context (#777)
Both compared a token counter that never counted the cached part of a conversation, so on a long session they fired far too late or not at all. For Claude sessions they now read the context size Claude Code reports, and a threshold can go up to the model's window (1M with extended context). Behaviour change: a session with auto-compact or auto-clear on fires earlier than it did, because 110k and 140k now mean the real context. Other CLIs, remote and Docker sessions keep the old counter.
jcode as a run mode (#650)
Codeman can now start jcode sessions from the Run menu, the phone overview and the API (mode: "jcode"), locally, over SSH and in Docker cases. jcode runs every session's tools in one shared background daemon, so closing a jcode tab never stops that daemon, its sessions get no Codeman agent skill, and a jcode worker's answer is read from its terminal; see docs/jcode-integration.md.
The File Viewer edits .env files (#796, #797)
A workspace .env, .env.local or prod.env opened in the preview but could never be edited. It now gets the pencil like any config file, and a save keeps the file's mode and group. Other credential files (.npmrc, credentials.json, anything under .ssh/) and Codeman's own ~/.codeman/.env stay read-only there, and downloads and attachments still refuse dotenv files.
Response viewer: a Copy Markdown button (#810)
Last Response has a Copy Markdown button. It copies the raw source of the newest answer, every part of its turn, so headings, lists and code fences survive a paste. Tool and status blocks are left out, and the full view (More) copies the same answer.
Fixes
- Firefox no longer pastes twice on Ctrl+V (#799). Firefox sent a second paste for the same key press, and some of the time it reached the terminal.
- An omp pane that asks for a tool approval alerts (#798). It raised no tab alert, no notification and no Approvals Inbox item. Behaviour change: Codeman writes a small hook file into
.claude/hooks/pre/of an omp session's folder. - Phone: the File Viewer header button follows its setting (#759, #809). Turning on File Viewer under App Settings > Header & Panels did nothing on a phone. The button now shows there once you turn it on, with a full-size touch target, and stays off until you do. Behaviour change: a desktop window or an iPad split view narrower than 600px shows the button too, where it was hidden before.
- Local model: the "still using this model" refusal names every session (#804). With a session open that an agent had started, Stop and Remove answered "Sessions are still using this model: . Close them first." Such a session has no name of its own, so the sentence now uses the name its tab shows.
- Skill: two workers in one folder keep their own answers (#807). On a Mac, where Claude Code runs zsh, two
sendmarkcalls started in the same second named the same answer file, and one worker's written answer replaced the other's. Workers in folders of their own were not affected.
Also in this release
Fixes applied while landing. Auto-compact and auto-clear decide again at the moment the command goes out, so a /clear is not sent into a conversation Claude Code just compacted itself, into a session paused on a usage limit, or after you switched the option off (#777). The File Viewer cannot reach Codeman's own .env by another spelling on a case-insensitive disk (#797). An omp alert stays up until omp says its dialog closed (#798). The test gate checks again that the File Viewer button is off on a phone nobody turned it on for (#809). The Copy Markdown button is named by the words on it, so voice control can find it (#810).
Docs and tests. The experimental API list names the new local model routes, the wiki's Local Models page walks from install to cloud plus local, and the wiki says where the File Viewer button is on a phone and what Copy Markdown copies.
Full Changelog: https://github.com/Ark0N/Codeman/compare/codeman@1.50.1...codeman@1.51.0