Introducing Claude Chic¶
Claude Chic is an alternative Claude Code UI that provides the following:
- Style: visually organizes the message stream for legibility
- Git Worktrees: organizes concurrent worktrees
- Multiple Agents: runs many sessions from the same window
- Quality of Life: loads of other features like diff viewer, shell commands, and more
The official docs are here, but I wanted to share my personal motivation and experience building this.
Or, if you prefer to jump right in, Claude Chic can explain itself:
uvx claudechic /welcome
0. Motivation¶
I've been deep in AI joy/psychosis the last couple months. The world is super fun right now.
However, as AI speeds up my workflow I find new bottlenecks, and increasingly those bottlenecks are part of my interactions with Claude itself. I wrote about this in AI Zealotry; AI can feel dehumanizing when our primary contribution is administrative, like granting permission.
Beyond permissions, various administrative interactions with Claude became tiresome, and so I worked to improve what I could about the interface for my workflow so that I could feel more human.
Claude Chic is an early result of that endeavor.
1. Style¶
Let's start with visual design. Claude is functionally great, but stylistically pretty terrible.
Here's a screenshot of Claude Code:
I find this difficult to parse. Everything feels muddled:
- No visual distinction between messages
- Too wide for comfortable reading (moreso in full-screen)
- Lost information - I want to dig into edits before they get summarized away
We don't expect modern design in terminal applications, but maybe we should, especially with Textual.
Textual made it easy to design a skin for Claude code that was, for me, much easier to consume.
Comparison¶
To me, Claude Code looks muddled.
To me, Claude Chic organizes the conversation so my eyes can parse it immediately without feeling drowned.
Tool use in particular is interesting. There are more tool use lines in the Chic version (Claude code omits many tool use lines), but they don't get in the way, and each is expandable for full context.
Additionally, Markdown renders properly.
Key styling choices:
- Color: User (orange), Claude (blue), Tools (grey)
- Expansion: Tool messages collapse by default, click to expand
- Width: Constrained to 100 characters
- Markdown: Proper rendering
- Streaming: Responses appear as they generate
To be honest, this ended up being a deeper rabbit hole than I anticipated. Totally worth it though. We're still early (definitely beta software), but it feels much better to me than Claude's default interface, or similar tools like Codex, Gemini, and other CLI tools. Everyone should be using Textual for TUIs.
2. Git Worktrees¶
Git worktrees are underused. They let multiple Claude agents work on the same repository in parallel.
Unfortunately, none of us know how they work. People I've spoken to have all seen an article or Youtube video showing them in action, but in practice they feel foreign. That's ok; AI tooling is great at foreign workflows.
User Experience¶
Previously, when I had a new idea it went on a TODO list while Claude finished its current task. Ideas would linger on that TODO list for a long time, even simple and easy ones. Coordinating the shared resource of the repository was an annoying bottleneck.
Git worktrees solve this by marrying a git branch with a fresh copy of the repository directory.
~/projects/
├── myrepo/ # Main worktree (main branch)
├── myrepo-feature-1/ # Some feature you're working on
├── myrepo-feature-2/ # Some feature you're working on
├── ...
└── myrepo-feature-n/ # Some feature you're working on
Now you can have n Claude agents working, one in each directory. When I have a new idea, I create a new worktree and have Claude start on it immediately:
/worktree my-idea
I want you to explore ...
This creates a new worktree (directory + branch) and a new agent working in that directory in the background. The agent starts working concurrently while I go back to my main task. In practice I have 2-10 of these going at once.
Now I focus on whatever ongoing thread interests me most while Claude pushes the others forward. I no longer wait for Claude; Claude waits for me.
Cleaning up¶
With concurrent git development comes conflicts. To address this, my git flow looks like the following:
- Commit work in a branch
- Rebase Rebase on our upstream branch (for linear history)
- Resolve any conflicts
- Fast-forward merge branch into upstream
- Delete worktree
Claude handles rebases and conflicts fine (and asks when it can't), so the workflow above got baked into the /worktree finish command. Concurrent git managemet is, for me, fully managed now.
Now that all of my TODO items can run at once, worktrees shift the decision from "what thread should we start next?" to "which ongoing session most deserves my attention?" This decision, coming later in the workflow, comes with more and richer information.
3. Multiple Agents¶
Multiple agents run concurrently in one session and can talk to each other. Here they play chess:
This is a cute demo, but in practice I use multiple agents with prompts like the following:
- Reviewing: "Start an agent to review our changes critically"
- Research: "Start an agent to explore this topic further"
- Dogfooding: Recently when adding a profiler, I spawned an agent to use it and suggest improvements back to the agent building it
There are intense multi-agent systems out there like Gas Town and OhMyOpenCode. I haven't needed that level of automation yet, but I find this space interesting.
4. Quality of Life¶
Claude Chic comes with myriad other niceties like a /diff viewer, vim keybindings (/vim), shell commands (!ls, !nvim README.md), and more.
Diff Review¶
Review uncommitted changes before asking Claude to commit:
I used to switch back and forth to a terminal to run git diff. Now I get something that I like more than git diff and without context switching.
Shell Access¶
Run shell commands without leaving the UI:
I typically use this for git log and vim, but it's nice generally.
There are loads more small features in Claude Chic, and more coming daily. It's exciting to work on.
Relationship to other projects¶
Related (and more mature) work:
-
Claude Code: More robust. Claude Chic uses the same
claude-agent-sdklogic as Claude Code. -
OpenCode: Beautiful wrapper supporting any major LLM with its own agent logic.
-
Toad: LLM CLI in Textual by Will McGugan, Textual's creator.
Alpha Status¶
This software is early, and full of bugs. It crashes regularly when we encounter new situations. Even-so, I encourage adventurous claude users to put it through its paces and raise issues. Development on this project is (as of 2026-01-25) extremely fast.
Final thoughts¶
For users: AI is fast; we need to avoid becoming Amdahl's bottleneck. Our developer tooling warrants a lot of reimagining today.
For LLM providers: Please check out Textual. It's a great technology. (I have no financial stake in Textual)
# If you use uv
uvx claudechic /welcome
# If you use pip
pip install claudechic
claudechic /welcome
Video¶
If you prefer video, here's one of me explaining this project: