Back to Research

Brainless: Claude Code-Style Shadcn Components

Brainless is a shadcn registry for agent-like UI, with a safe Claude Code MCP example for GitHub.

Chimborazo - hut detail - HNT, landscape painting by Frederic Edwin Church.
Rogier MullerJuly 16, 20269 min read

Brainless: Shadcn components that look like Claude Code, Codex and Grok is Swerdlow’s small shadcn/ui registry for building agent-flavored interfaces. It deals with a very current design problem: developers want AI coding surfaces that feel familiar without rebuilding every prompt box, transcript, and action panel from scratch. Brainless is a component kit, not an agent runtime, and the useful takeaway is to keep the UI familiar while keeping the tool boundary explicit. For the common how to add github mcp to claude code task, that means pairing the nice-looking surface with a narrow Claude Code MCP permission note, not hiding real GitHub access behind polished chrome.

Claude Code, Anthropic’s coding agent, Codex, OpenAI’s coding agent, and Grok, xAI’s assistant, have each made terminal-adjacent agent UI feel recognizable. Brainless turns that look into installable shadcn-style components. That is why it got attention: it is not a grand platform pitch, just a useful little kit for people already building around AI coding workflows.

Treat Brainless as an interface kit, not an agent

Brainless gives you components that resemble the visual language of coding agents: message panels, command-like controls, and the calm gray scaffolding that makes long-running work feel readable. A shadcn registry is a way to distribute copyable React components so a project can install and own the code instead of consuming a sealed widget library.

That choice matters. Developers asked why Brainless uses the shadcn registry shape because registry components fit the way frontend teams already work: inspect the code, copy it into the app, edit it, and keep design tokens local.

The trap is assuming the UI grants agent behavior. It does not. A Claude-like composer is still just a composer until you connect it to a model, a repository, and a permissioned tool surface.

A good use is an internal code-review helper panel. The panel can show an agent plan, a diff summary, and a final receipt. The actual authority still belongs to Claude Code and whatever MCP servers, hooks, or repository rules you connect behind it.

Make the familiar surface show real boundaries

The interesting part of Brainless is not that it looks like Claude Code. It is that it makes agent UI normal enough to critique.

When a component looks familiar, users stop marveling at the interface and start asking better questions. What can this button do? Is this action read-only? Did the agent fetch live GitHub data or summarize stale context? Can I inspect the command before it runs?

That is the healthy pressure. The tiny Hacker News discussion around Brainless was telling: people mostly reacted to the shape of the project, the registry choice, and the inspiration behind it. The excitement was about reusable craft, not magic.

The trap is aesthetic trust. If your panel looks like a coding agent, people may assume it inherits the safety model of one. Add labels for tool access, disabled states for unavailable actions, and a visible review step before anything writes to GitHub.

For Claude Code users, this connects cleanly to the related training topic: conventions are most useful when they are visible at the moment of action. A short permission note beside a button beats a forgotten policy buried in a doc.

Add GitHub MCP after the screen tells the truth

Here is the practical bridge. If Brainless gives you the front of the house, MCP gives Claude Code the door to outside systems.

MCP is the Model Context Protocol, an open protocol for connecting AI applications to external tools and data sources through servers. In a Claude Code workflow, a GitHub MCP server can let Claude inspect issues, pull requests, files, and repository metadata, depending on the server and token permissions you provide.

Start with read-only access. Use a fine-grained GitHub token when possible. Give it only the repositories and permissions the workflow needs, then make that boundary visible in the UI.

A safe first example is a Brainless-style review panel that asks Claude Code to read a pull request, summarize risky files, and suggest review questions. Do not let that first version merge, push, close issues, edit labels, or trigger workflows.

The trap is installing the server and then giving the interface one vague button named Run. Better names sound boring because they are honest: Read PR, Summarize changed files, Draft review notes.

Try it safely with one component and one server

Use this as a small experiment, not a rewrite. Pick one screen where an agent-style component would make work easier to inspect: a PR review drawer, a migration assistant, or a release-note generator.

Then connect only the minimum GitHub surface needed for that screen. This is a server setup snippet, not a universal production config:

export GITHUB_PERSONAL_ACCESS_TOKEN=your_read_only_fine_grained_token
claude mcp add github -s project -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
claude mcp list

Use a permission note next to the component:

Surface Allowed first Keep off at first
PR review panel Read pull requests, files, comments, metadata Merge, push, edit labels, close issues
Issue triage panel Read issues and comments Assign users, change milestones, create labels
Release-note draft Read commits and merged PRs Create releases, publish packages, trigger workflows

Before you keep the experiment, run this review:

  • Can a developer tell which GitHub repo the agent can read?
  • Can they tell whether the action is read-only or write-capable?
  • Does the UI show the draft before anything leaves the page or lands in GitHub?
  • Is the Claude Code MCP server scoped to the project, not every repo on the machine?
  • Is there one boring escape hatch, like copy the prompt or open in Claude Code?

This is also where a concise CLAUDE.md can help, but it should stay supporting context. Use it for durable repo rules such as test commands, branch naming, and review expectations. Do not make it carry secrets or one-off task instructions.

Keep the component honest during review

The best Brainless-style interface is one that makes agent work reviewable. It should not turn a multi-step coding task into a black box with nicer borders.

For a real repo, ask the component to produce a handoff receipt after Claude Code reads GitHub data. Keep it short:

  • What GitHub objects were read?
  • What files or PRs were considered?
  • What did the agent infer rather than verify?
  • What command, if any, should a human run next?

This pairs nicely with the lesson from Microsoft’s Claude Code and Copilot CLI Study: the interface around an agent changes how people supervise it. A polished surface should reduce replaying chat, not reduce scrutiny.

The limitation is obvious but easy to forget. Brainless can make the work legible, but it cannot decide your trust boundary. That belongs in the tool config, token scopes, hooks, and review habits around Claude Code.

Common questions

  • Is Brainless an official Claude Code UI?

    No. Brainless is an independent shadcn/ui registry published on Swerdlow’s site, and it offers components that look like Claude Code, Codex, and Grok. As of July 2026, treat it as frontend source material you inspect and adapt, not as an official Anthropic, OpenAI, or xAI product.

  • How do I use Brainless with Claude Code?

    Use Brainless for the visible agent surface and Claude Code for the actual coding workflow. A simple pattern is a PR review panel that shows Claude’s plan, GitHub context, and a draft receipt. Keep the connection explicit: the component should say what the Claude Code MCP server can read or write.

  • What is the safest way for how to add github mcp to claude code?

    The safest first path is a project-scoped GitHub MCP server with a read-only fine-grained token. Add the server, confirm it appears in Claude Code, and test with a read-only task such as summarizing a pull request. Do not grant write permissions until the UI shows a review step and the repo has clear conventions.

  • Should this replace CLAUDE.md or Claude skills?

    No. Brainless is UI, while CLAUDE.md and Claude skills carry working context and reusable procedures inside Claude Code. Use CLAUDE.md for durable repo rules, and use skills for repeatable workflows. The component should display or request that context, not become the hidden source of truth.

  • Why did developers care about the shadcn registry choice?

    Because shadcn-style distribution gives developers component code they can own. That fits agent UI especially well: teams often need to adjust states, permissions, wording, and review receipts. The caveat is maintenance. Once copied into your app, the component is yours to audit, update, and secure.

Best ways to use this research

  • Best for: developers building internal AI coding surfaces who want agent UI patterns without pretending the UI is the agent.
  • Best first artifact: a read-only PR review panel with a visible GitHub MCP permission note and a final handoff receipt.
  • Best comparison angle: compare what the component suggests visually against what Claude Code can actually do through MCP, hooks, commands, and repo conventions.
  • Best caution: do not let familiar Claude Code-style design imply official integration, elevated permissions, or automatic safety.

Further reading

Next step

Install one Brainless component in a throwaway branch, connect one read-only GitHub MCP action, and ask whether a reviewer can see the boundary without reading the code. If they cannot, fix the surface before adding more power.

One methodology lens

One useful way to read this through our methodology is the Plan step: delegate first-pass decomposition and dependency mapping, review the sequencing and assumptions, and keep ownership of scope and priorities. If that split is still fuzzy, the workflow usually is too.

Related training topics

Related research

Continue through the research archive

Ready to start?

Transform how your team builds software.

Book a 15-minute sync