U-Pool 0.7.0
Two new app tabs, a way to clear your transcripts, and the installed CLI versions in the header.
Hermes and OpenCode
Both are full app targets now, with their own config writers — not preset chips on a Claude form.
| App | Target | What a switch writes |
|---|---|---|
| Hermes | %LOCALAPPDATA%\hermes\config.yaml |
One entry under providers:, plus model.provider and model.default |
| OpenCode | ~/.config/opencode/opencode.json |
One entry under provider, plus $schema and the top-level model |
A switch removes only the entry U-Pool wrote last time. The Codex adapter clears every [model_providers.*] table but the active one, because Codex was reading two at once. Doing that here would delete the providers you added by hand, so it does not: ownership is recorded per entry in ~/.u-pool/env-owned.json.
config.yaml is spliced rather than re-serialised. U-Pool parses it to read, then swaps new text into the line ranges of the two sections it owns — the other thirty-odd sections of a 754-line document come back byte for byte. Measured against a real config: 13 lines changed out of 754.
Hermes needs a transport (anthropic_messages, chat_completions, codex_responses, bedrock_converse) and OpenCode an npm SDK package, because neither infers the protocol from the URL. The preset chips set both.
Neither writes to HKCU\Environment — both read their key from their own config file.
Delete all sessions
Settings → Sessions has one red button per CLI, with the file count and size measured before you press it.
| Claude Code | ~/.claude/projects, ~/.claude/sessions, ~/.claude/history.jsonl |
| Codex | ~/.codex/sessions, ~/.codex/archived_sessions, ~/.codex/history.jsonl, ~/.codex/session_index.jsonl |
That table is the entire scope. Both CLIs keep transcripts in the same folder as their credentials, so settings.json, .credentials.json, auth.json, config.toml, plugins, skills and file-history are untouched. Nothing is backed up first, and the confirm dialog names every path before it deletes.
CLI versions
The header shows the installed Claude Code and Codex versions; the refresh button re-probes. shutil.which is tried first, then the places a global install actually lands — a window launched from Explorer or the sign-in entry inherits the PATH as it stood at logon, not the one your terminal has.
A tool found on disk that cannot report a version says so, rather than being reported as missing. Settings → Installed CLIs shows the resolved path for each.
Also
- The header is two rows: wordmark, versions and buttons above, the five app tabs below.
- Upgrading from 0.6.0 seeds the new tabs with their official entry instead of leaving them empty.
- Real brand marks for Hermes and OpenCode.
- New dependency: PyYAML — the first since 0.5.0.
Install
Download U-Pool-0.7.0-win64.zip, unzip anywhere you own (not Program Files — Windows will not let U-Pool replace itself there on update), and run U-Pool.exe.
SHA-256 a3af8fe27e50dc13168f14e135965c6fe0d31dc66c40951813df8fd003b99006
Full changelog: v0.6.0...v0.7.0
