TUI inspector for agent CLI configuration directories like ~/.claude/.
Project description
agentpeek
A TUI for inspecting agent CLI configurations: what's installed, what's enabled, what's broken.
agentpeek scans your Claude Code config (~/.claude/ and any project-level .claude/ directory it finds by walking up from cwd) and surfaces every loose file the agent depends on: settings, hooks, slash commands, memory files, MCP servers, installed plugins (with their full contents: manifest, skills, agents, commands, hooks, MCPs), and any health warnings detected during the scan.
Install
pipx install agentpeek
Then:
agentpeek # scan ~/.claude and the nearest project .claude
agentpeek --root /path/to/dir # scan a specific directory
agentpeek --version
Requires Python ≥ 3.11. Linux and macOS only.
What you get
- Three-zone TUI: sidebar of 9 categories on the left, items list in the middle, detail pane on the right. Drill-down on every category.
- Multi-scope: user-scoped (
~/.claude/) and project-scoped (.claude/found by walking up from cwd) configurations shown side by side with[U]/[P]badges. Health checks compare the two and flag conflicts. - Plugin contents: every installed plugin is opened up - manifest, skills, agents, slash commands, hooks, MCP servers, and the marketplace's auto-update state. Plugin-contributed commands / hooks / MCPs also merge into the top-level categories with a
[plug:<id>]provenance tag. - Auto-memory: Claude Code project memories (under
~/.claude/projects/<encoded>/memory/) are scanned and labelled with their actual project path (resolved from session logs, not the lossy directory encoding). - Health checks: orphan hook scripts, missing plugin install paths, conflicting key bindings, scope override conflicts, cross-scope layered memory, hooks referencing dynamic env vars (
${CLAUDE_PROJECT_DIR},$HOME, …) flagged so you know which won't resolve at scan time, and more. Severity-coloured warning cards in the detail pane. - Write actions: update, enable/disable, uninstall a plugin or refresh a marketplace without leaving the TUI. Calls shell out to
claude plugin …; agentpeek never edits Claude state files directly. Re-scan is automatic after every action. Pass--read-onlyto disable.
Keybindings
| Key | Action |
|---|---|
↑ / ↓ |
Move within the focused list |
Tab / Shift+Tab |
Move focus between sidebar / items / detail |
Enter |
Drill into the highlighted item; on a Skills or Agents row inside a plugin, opens a detail modal |
r |
Re-scan disk |
o |
Open the highlighted item's file in $EDITOR (TUI suspends + resumes) |
y |
Yank the highlighted item's path to the clipboard (OSC 52) |
b |
Yank the rendered body. Works on memory entries, slash commands, skills, agents, hooks |
u |
Update the highlighted plugin |
U |
Update all installed plugins (progress in the title bar) |
t |
Toggle enable / disable for the highlighted plugin |
x |
Uninstall the highlighted plugin (confirms first) |
M |
Refresh the highlighted marketplace |
/ |
Show + focus the filter input (live-filters the items list) |
Esc |
Clear filter and refocus items |
? |
Help overlay listing every binding |
q |
Quit |
The filter shows (filtered: N / M) in the title while active. Press Enter inside the filter to keep the filter and jump back to the items list; press Esc to clear.
Theming
Built on Textual: the theme follows Ctrl+P (palette) and reflows colours across cards, borders, badges, and severity indicators. Default theme is textual-dark.
Supported agent CLIs
- Claude Code: full support today.
- Support for other agents (Codex, Gemini CLI, Cursor) coming.
License
GPL-3.0-only. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentpeek-0.12.1.tar.gz.
File metadata
- Download URL: agentpeek-0.12.1.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
870518806e1cf870bc6266697ae06da51c5ded80359e2b5a32cf53aacdc4702e
|
|
| MD5 |
db7d5c091cbcf23f15c35837717215c8
|
|
| BLAKE2b-256 |
ffb29ec46b63c8e75a5b37ed452f06b7922da15d13a98c2916243650ec14affe
|
File details
Details for the file agentpeek-0.12.1-py3-none-any.whl.
File metadata
- Download URL: agentpeek-0.12.1-py3-none-any.whl
- Upload date:
- Size: 69.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0535c0ec2767660e6530e92db7d031e98724a897b24e12baa2d27a0725739b78
|
|
| MD5 |
7976697ab95f2317ffd80d6a11f44c92
|
|
| BLAKE2b-256 |
a580d592de8c092402a39a9ff2fbbe7edce030d5a7323ea68e746a30a201b29d
|