⚡ Claude Terminal v1.3.0
Your navigation, your call - plus a Files screen, artifacts and per-project accounts.
The headline
🧭 Pick your navigationProject tabs across the top, browser-style - or the classic projects column on the left. Asked once on first launch, switchable any time in Settings, applied live without a restart. |
📁 A real Files screenThe file tree becomes a screen of its own ( |
👤 One account per projectPin a Claude account to a project and every chat and terminal it opens runs as that account. Credential stores are isolated per account; unpinned work keeps the machine-wide login. |
🤖 Models from your accountThe model picker is built from the CLI's own catalog instead of a hardcoded list, so it follows CLI upgrades on its own - Fable 5.1 works out of the box. |
🧭 Two navigations, shipped in full
The tab bar frees the screen; the column keeps every project in sight. Rather than choosing for you, v1.3.0 ships both.
| What it does | |
|---|---|
| Asked once | A first-launch card (or a wizard step on fresh installs) with a live preview of each layout - your answer is the setting, nothing asks twice |
| Tabs mode | One tab per open project, drag to reorder, middle-click to close, session badges, pinned tabs that shrink to their icon |
| Column mode | The classic docked column with its original card design - now standing beside every project screen (Claude, Git, Dashboard, Files, Replay, Tasks) instead of vanishing with the Claude tab |
| One selection | Both navigations drive the same project state, so every screen always agrees on where you are |
| Switch live | Settings → Navigation swaps the whole layout in place |
Everything else
- Artifacts library - the gallery of pages published to claude.ai with the Artifact tool, with URL, subtitle and versioning; plus a Documents tab in every chat listing what that conversation produced (HTML, SVG, diagrams, code, files)
- Background tasks drawer - a panel beside the transcript showing what the CLI runs in the background for this session, with elapsed time, a stop button, and a Run in background action on any in-flight tool (Ctrl+B, but from the UI)
- SDK bumped to 0.3.260, with a "More models" tier in the picker for the ids the CLI still accepts but no longer advertises
Ctrl+Fin the conversation - search the transcript you are reading- Sessions grew up - real titles from Claude Code, ids searchable, sessions movable between projects, ordering by last real message instead of file mtime, and hand-picked tab names locked against auto-renaming
- Grouped sidebar - navigation ordered by scope (project / all projects / global), fitting the default window with every tab pinned
- Chat turn limit exposed in settings, with unattended hands-free sessions bounded by default
- New MCP tools -
session_search,session_recap,ui_navigate,ui_state - Hands-free groundwork - a session profile that routes work to chat tabs and keeps the screen as the only output channel. Text input for now: microphone capture and transcription are scaffolded but not live yet
- Long sessions froze the app - replay and Session Replay now stream a bounded window instead of loading 200 MB transcripts whole; the mounted transcript is pruned to ~300 entries and remounts on scroll
- macOS auto-update was silently broken - the release job hashed GitHub's "Not Found" page instead of the DMGs, so updates downloaded and then rejected themselves. Fixed with an authenticated download plus guards that fail the build if two DMGs ever share a hash
- Switching chat ↔ terminal dropped the conversation - both directions now carry the session, and a switched tab no longer leaks a live
claudeprocess on close - An idle tab pulsed orange while another one worked - hook events route by session id instead of "some tab of that project"
- 529 Overloaded reported as
success- in-band API errors now reach the session lifecycle, soclaude_session_endtriggers filter on the truth - A lapsed login became a tab name - "Not logged in · Please run /login" no longer overwrites and persists your tab titles
- The task bar sat at 0/N forever - TaskCreate answers in prose, the parser only spoke JSON
- Background task cards spun forever after a missed bookend - the live task set now settles them
- Usage bars showed
Sonnet --%on every account - the bars are built from the API's ownlimitsarray, surviving model renames - Readability - replayed history, tool details and the composer footer are back above WCAG AA; replayed subagent cards no longer stay stuck in the running state
- Settings resilience - concurrent writers can no longer wipe
settings.json - Account switching no longer rolls back MCP tokens or overwrites the outgoing snapshot; credentials read from the macOS Keychain
- Two 1 Hz whole-DOM scans removed - idle script time went from 648 ms to 27 ms per 10 s with nine tabs open
- Infinite indicator animations pause while the window is unfocused
- Session listings are cached against the directory mtime, so opening the list, the quick picker and an
@sessionmention no longer trigger three full scans - One macOS build failing no longer cancels the other architecture's release
🙏 Thanks
| @bleleve | The heart of this release: 24 merged PRs spanning navigation, sessions, artifacts, the model picker, per-project accounts, accessibility, performance and the release pipeline itself - each one measured, tested and documented. Exceptional work |
| @jonnyyu | Light theme groundwork (#66, in progress) |
📜 Full changelog — 55 commits
feat(voice) verbatim dictation and focused-tab routing
feat(voice) make the screen the only output channel
feat(voice) add a hands-free session profile
feat(voice) add microphone capture and Groq transcription
feat(chat) let the voice session dispatch work to chat tabs
feat(navigation) let the user pick between the project tab bar and the projects sidebar
feat(navigation) replace the project sidebars with a project tab bar
feat(nav) one projects column in column mode, with its old design back
feat(setup) ask for the navigation in the wizard, not twice on first launch
feat(files) a Files screen, with per-session diffs rendered like GitHub
feat(artifacts) artifact library and per-conversation Documents tab
feat(accounts) bind a Claude account to a project
feat(tasks) a background tasks drawer, scoped to the session
feat(chat) build the model picker from the CLI catalog
feat(chat) add Ctrl+F search in the conversation transcript
feat(tabs) lock custom names, add pinned tabs, fix session ordering
feat(sidebar) group the nav by scope and make it fit again
feat(sessions) show the real session title, and make ids searchable
feat(sessions) move a session to another project
feat(settings) expose the chat turn limit
feat(mcp) add cross-project session search and recap tools
feat(mcp) add ui_navigate to switch the displayed panel
feat(mcp) add ui_state to read back the displayed panel
feat(mcp) resolve project names the way they are spoken
feat(i18n) add chat search translations for all locales
fix(sessions) stop long sessions from freezing the app
fix(terminal) keep the session when switching between chat and terminal
fix(events) route hook events by session id, not by project
fix(chat) stop reporting 'success' after an in-band API error
fix(chat) stop the CLI's login error from becoming a tab name
fix(chat) read the task id TaskCreate reports so the todo bar advances
fix(chat) settle background tasks from the live set, not just bookends
fix(chat) stop the 1 Hz whole-DOM scans that never had anything to update
fix(chat) restore legible contrast in the chat input footer
fix(chat) stop capping chat sessions at 100 turns
fix(chat) report the turn cap that was actually applied
fix(chat) bound unattended hands-free sessions
fix(chat) select mention picker items with the keyboard
fix(a11y) dim replayed chat history by color instead of opacity
fix(a11y) raise tool detail contrast, repair replayed subagent cards
fix(usage) build the limit bars from the API instead of a hardcoded Sonnet
fix(ui) hide the project bar in Settings, and repair usage on macOS
fix(release) compute mac sha512 from the authenticated asset download
fix(release) stop one macOS arch from cancelling the other
fix(accounts) read Claude credentials from the macOS Keychain
fix(accounts) stop switchTo from overwriting the outgoing snapshot
fix(accounts) stop account switching from rolling back MCP tokens
fix(settings) stop concurrent writers from wiping settings.json
fix(settings) give the navigation picker the app's own dropdown design
fix(tasks,sessions) pick a project for a run again, and stop rescanning sessions
perf(chat) bound the mounted transcript and pause idle animations
test(mcp) cover session search, recap and ui navigation
docs document the new session and navigation MCP tools
chore(voice) add push-to-talk hotkey spike script
chore bump version to 1.3.0
Note
macOS users: if the app is reported as damaged on first launch, it is unsigned rather than broken. Run xattr -cr "/Applications/Claude Terminal.app", or right-click the app and choose Open. And good news: this is the first release in a while where the auto-updater actually works on macOS - see the fix above.