cd /news/ai-tools/goyangi-watch-what-claude-code-is-do… · home › topics › ai-tools › article
[ARTICLE · art-164538] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Goyangi: Watch what Claude Code is doing, live

Developer netil released Goyangi, a Claude Code plugin that adds a live panel beside the conversation showing each turn's model requests, tool calls, subagents, tokens, cost and time share. Goyangi installs via `claude plugin marketplace add netil/goyangi` and `claude plugin install goyangi@goyangi --scope user`, and adds gauges for context, cache hit rate and the 5h and 7d usage limits with a forecast, all computed locally with no tokens spent. The plugin also numbers open Claude Code sessions and browser tabs so prompts like "send this to session 2" or "Work in tab B3" route work, and includes a "walk view" pixel cat or dog whose mood reflects context, cost and usage limits.

read3 min views2 publishedNov 5, 2026
Goyangi: Watch what Claude Code is doing, live
Image: Michielbdejong (auto-discovered)

Goyangi is a panel beside your Claude Code conversation that shows, turn by turn, where the time and money went.

Goyangi (고양이) is the Korean word for a cat: a cat that sits next to the conversation and watches every turn.

claude plugin marketplace add netil/goyangi
claude plugin install goyangi@goyangi --scope user

Run /reload-plugins, then open the panel with /goyangi. It also opens by itself when a session starts. New versions install automatically (turn this off in the settings screen, = in the header).

Sessions and browser tabs have numbers, so a short prompt is enough:

send this to session 2
pull from 1
Summarize the docs tab
Work in tab B3
  • send this to session 2 passes this session's handoff note to the other session.pull from 1 asks session 1 for its handoff

  • Summarize the docs tab andWork in tab B3 work in that very browser tab, with your sign-ins. The numbers come from the Open sessions and Browser tabs boxes

  • When context passes the alert threshold, click Continue in a fresh session and the work carries on in a new session from a handoff note

  • Turn flow : every model request, tool call, and subagent of the turn in order, with tokens, cost, and a time share bar

  • Gauges and advice : context, cache hit rate, and the 5h and 7d usage limits with a forecast. Rule-based advice flags repeated failures, cache drops, and files read again. All computed locally, no tokens spent

  • Session map and log : one row per turn to compare, and a replay of any recent turn. The log switches between key events and everything

  • Walk view : pressv and a pixel cat or dog walks through the turn. Its mood shows context, cost, and usage limits at a glance

  • Open sessions : send this session's handoff to another Claude Code session or a coding agent (Codex, OpenCode, ...), or pull theirs here

  • Browser tabs : your open tabs, numbered. Say "B3" or "the GitHub PR tab" and the model works in that tab

  • Terminal and desktop app : the same panel in both

The walk view's cat and dog: running, thinking, working, failing, and sleeping.

See the manual for the layout, shortcuts, advice rules, and settings.

  • Claude Code with mod (function hooks) support
  • The walk view's pixel art uses octant characters (Unicode 16) in Ghostty, kitty, and WezTerm. Other terminals (Obsidian's terminal, iTerm2, Terminal.app, VS Code) get a coarser version drawn with quadrant blocks, so the layout holds
claude plugin validate .
claude plugin test .

Without claude plugin test, run the event-order regression test with Node.js 24 or later. It uses an in-memory adapter and doesn't replace the engine and UI integration tests.

node --test tests/lifecycle.test.mjs

To try local changes, load the folder directly with claude --plugin-dir . and run /reload-plugins after edits.

The test kit doesn't paint the panel, so layout breaks at narrow widths are checked separately. tools/layout-check renders the terminal panel with Ink (an approximation of the engine's renderer) at widths from 26 to 120 columns and reports rows wider than the panel and Box props the engine refuses. It exits 1 when it finds any.

cd tools/layout-check && npm install
node check.mjs              # default view; or pass widths: node check.mjs 26 40 60
VIEW=avatar node check.mjs  # walk view (also SETTINGS=1, MODE=band for the minimized view)
FRAMES=1 node check.mjs 30  # print the frames, to spot titles wrapping into columns
  1. Run claude plugin validate . andclaude plugin test .
  2. Raise version inpackage.json and.claude-plugin/plugin.json (installed copies update only when it changes)
  3. Move the changelog entries under a new ## vX.Y.Z (date) heading
  4. Commit, then git tag vX.Y.Z ,git push --follow-tags , andgh release create vX.Y.Z --notes-file <notes>
── more in #ai-tools 4 stories · sorted by recency
── more on @goyangi 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/goyangi-watch-what-c…] indexed:0 read:3min 2026-11-05 · —