On this page
claudewheel
Pick a profile. Pick a model. Launch.
A TUI Claude Code Launcher that lets you have more than one profile, manage sessions lifecycle, pick the exact CC version, model to use (even older unlisted ones), pick which GitHub account to use, etc.
Segment Bar Launcher
Visual TUI with horizontal segments for profile, model, directory, MCP mode, and permissions. Navigate with arrow keys, confirm with Enter.
Multi-Profile Management
Manage multiple Claude Code profiles with isolated settings, permissions, and MCP configurations. Create, delete, and migrate sessions between profiles.
Pre-Launch Health Checks
Diagnostics that verify API tokens, hook scripts, file permissions, and symlink integrity before launching a session.
Viewport Scrolling
Segment bar adapts to narrow terminals with automatic scrolling, edge arrows showing off-screen segments, and a colored minimap.
Customizable Themes
Dark and light themes with hex color support, configurable per-segment colors, and theme-aware rendering throughout the TUI.
A TUI Claude Code Launcher that lets you have more than one profile, manage sessions lifecycle, pick the exact CC version, model to use (even older unlisted ones), pick which GitHub account to use, etc.
Selections persist across launches, and the bar adapts to narrow terminals with viewport scrolling and a minimap.
#Documentation
- CLI Reference -- all commands, flags, and arguments
- API Reference -- auto-generated module and function docs
- Guardrails -- enforcement tiers, subagent handling, command-string caveats, and upgrading profiles
#Overview
claudewheel manages multiple Claude Code profiles, each with isolated settings and permissions stored in ~/.claude-<name>/settings.json. The TUI renders a segment bar where each segment fans out into selectable options. Before launching, optional health checks verify API tokens, hook scripts, and file permissions.
Configuration lives in ~/.claudewheel/ (config.json, segments.json, options.json, state.json, and a themes/ directory). Themes support hex color definitions with dark and light variants.
#API Reference
The claudewheel API covers configuration, profile discovery, TUI rendering, terminal I/O, segment bar layout, theme parsing, and session launching. Modules are organized by concern: config and defaults handle persistent settings, renderer and terminal drive the display, segment defines the bar data model, launch builds the exec command, and profile resolves Claude Code profile directories.
#claudewheel
Package version detection from package.json or installed metadata.
#_default_package_json
def _default_package_json() -> _PathPath to the repo-root package.json (one level above the package dir).
#_detect_version
def _detect_version(package_json: _Path | None=None, metadata_version: _Callable[[str], str]=_version) -> strResolve the package version, preferring the repo-root package.json.
Resolution order (exact, not heuristic):
<pkg>/../package.json-- present only in a source checkout (the wheel
packages only claudewheel/). In an editable/source checkout this file is authoritative and wins over possibly-stale installed metadata.
importlib.metadata.version("claudewheel")-- used for PyPI wheels,
where the repo-root package.json is absent.
"unknown"-- final fallback when neither source is available.
package_json and metadata_version are injectable for testing.