shoulder CLI

A TUI that shows what Claude Code, Codex, Gemini CLI and opencode do in a project: the open file, last-commit diff, live commands

  • 76 ★ on the repository
  • Last commit
  • MIT
CLI

Minimal access

Why this level

  • Reads local agent session logs, which can hold code and secret fragments, but writes and sends nothing
All reasons and checks

bjarneo/shoulder

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/shoulder

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • Reads local agent session logs, which can hold code and secret fragments, but writes and sends nothing

This is third-party code. Review the repository files before installing.

What it does

shoulder watches coding agents work in a project and shows it live. It reads the session logs the agents already write: Claude Code with subagents, Codex, Gemini CLI, opencode 2.x and omp. No agent setup is needed, and each agent shows up in the list a few seconds after it starts in the same project. The screen has panes. On the left is a list of agents and changed files, and a dot next to a file shows which agent is in it now. The center shows the focused agent's file with a cursor and a label such as `A1 editing`, with an inline diff against the last commit: deleted lines in red above the new ones. Under the file come the agent's commands and their colored output, and on the right is an activity log: reads, searches, edits, commands, replies and prompts. A bar under each agent shows how full its context window is. `s` switches to a split layout with one pane per agent, `e` opens the file in your editor and `x` hides finished agents. The flags `--since`, `--all`, `--splits`, `--signs` and `--hide-done` change the view. The program only reads: it sends no input to an agent, changes no files and does not use the network.

Who it is for. Developers who run several agents in one repo and want to see which file and command each is touching right now.

Good fit when

  • Claude Code and Codex work in one project and you want to watch for edits to the same files
  • You want to read the diff as it forms, not after the task ends
  • An agent command hangs and you need its output right now
  • An agent context window is filling and you want to see it on the bar
  • You need an agent action log to review what it read and changed

Not a fit when

  • You want to steer the agent from the interface: shoulder sends no input
  • You use agents outside the supported list: Claude Code, Codex, Gemini CLI, opencode 2.x and omp
  • You need the log saved to a file for a report: the program only displays

Example request

Run shoulder in the project folder and show which agent is editing `src/api.ts` right now.

Limitations

It installs with `go install` and needs Go 1.26 or newer, or as a prebuilt binary for linux and darwin on amd64 and arm64. It shows sessions from the last hour, and `--since` changes the period. It watches the git top level of the directory and sees sessions started there or below. Agent session folders are read by default, and other locations are set with `CLAUDE_CONFIG_DIR`, `CODEX_HOME`, `GEMINI_CLI_HOME`, `XDG_DATA_HOME` and `PI_CODING_AGENT_DIR`. The opencode database is opened read-only.

How to disable. Delete the `shoulder` binary from `$GOPATH/bin` or `/usr/local/bin`. Settings live in `~/.config/shoulder/config.toml`.

FAQ

Which agents does shoulder support?

Claude Code with subagents, Codex, Gemini CLI, opencode 2.x and omp. No agent setup is needed, since it reads their session logs.

Can shoulder change files or steer an agent?

No. It only reads logs, sends no input to an agent, writes no files and makes no network connection.

How do I show agents of all projects?

Run `shoulder --all` or set `all = true` in `~/.config/shoulder/config.toml`.

How do I change the keys?

Add a `[keys]` table to `~/.config/shoulder/config.toml`, for example `hunk_next = "n"`. On an unknown action or a duplicate key the program stops with an error.

How do I verify a downloaded binary?

Compare it with `checksums.txt` from the release using `sha256sum -c checksums.txt --ignore-missing`.

Discussion

No questions or reviews yet.

CLI tools

Streams Claude Code hidden thinking, tool calls and subagents to a separate terminal with a live session tree

CLIMinimal access158Repository stars

One desktop window for Claude Code, Codex, Gemini CLI and OpenCode: terminals, pull requests, diffs and approvals

CLIBroad access348Repository stars

Xylocopa is a visual orchestrator for Claude Code agents: GTD tasks, parallel agents in git worktrees, phone approvals.

CLIBroad access54Repository stars

Critty opens a terminal interface where a person comments on a diff, answers questions and approves agent actions.

CLIMinimal access105Repository stars

Session monitor for Claude Code, Cursor, Codex and six more agents in a terminal, window or HTTP API, with chat cleanup and search

CLIExtended access195Repository stars

Conduit runs a team of agents in the terminal: tabs with Codex, Claude Code, Gemini CLI and OpenCode over git working copies.

CLIExtended access100Repository stars

README in short

Covers install through Go, prebuilt binaries and Nix, running in the project folder, a flag table, supported agents, the screen layout, opening a file in the editor and key setup.

README badge

Report a problem