npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

paseo-claude-workflows

v0.3.1

Published

Paseo plugin: watch Claude Code dynamic workflows live (phases, agent status dots, tokens) in the sidebar, chat and Background tasks panel

Downloads

634

Readme

claude-workflows: Paseo plugin

A one-stop Background tasks view in Paseo for Claude Code. It shows dynamic workflows (the Workflow tool), plain subagents (Agent/Task tool) and background shells, live, the way Claude desktop shows them.

| Where in Paseo | What it shows | | --- | --- | | Agent tab → Background tasks (opens in the right sidebar) | Every task of that agent's Claude session, grouped Running / Completed. Running tasks start expanded. Workflows expand into phases → agents → an agent inspector (prompt, live tool-call feed with inputs and outputs, result). Subagents expand straight into that inspector. Shells show the command, exit status and a live output tail. Below that, Paseo sub-agents lists child agents of any provider (Claude, Codex, omp, …); tap one to open it | | Sidebar → Background tasks | The same list for every Claude session on the machine (desktop, CLI or Paseo), filtered by Running / Last 24h | | Chat stream | A Claude agent's Workflow tool call becomes an inline card: name, Workflow · N agents · 4m 12s and a dot row. Tap it to open that run in the sidebar | | Composer pill | Background · 2 running · 105.8k (or Background · 5) on Claude agents with tasks in the last 24h | | ⌘K / Ctrl+K | "Show Background tasks", "Open all background tasks" |

How it gets the data

It doesn't need hooks or any Claude config changes. The daemon-side plugin (server/collector.ts) tails Claude Code's own files read-only, and each RPC call refreshes them incrementally:

~/.claude/projects/<slug>/<session>/subagents/workflows/<runId>/journal.jsonl     agent started/result/failed
                                                            /agent-<id>.jsonl      usage, model, tool calls
                                                            /agent-<id>.meta.json  label + phase
~/.claude/projects/<any-slug>/<session>/workflows/scripts/<name>-<runId>.js        name + planned phases (regex, never eval'd)
~/.claude/projects/<any-slug>/<session>/workflows/<runId>.json                     final snapshot (written when the run ends)
~/.claude/projects/<slug>/<session>/subagents/agent-<id>.jsonl|.meta.json            plain subagents
~/.claude/projects/<slug>/<session>.jsonl                                          launches, background shells, completion notices, cwd
/tmp/claude-<uid>/<slug>/<session>/tasks/<taskId>.output                           background shell output ("[exited with code N]" at the end)

The client polls every 1 s while something is running and every 5 s otherwise. Per-agent tokens are the latest message's context size, which matches Claude desktop's figure to within about 25 tokens. These file formats are undocumented Claude Code internals (checked on 2.1.28x) and may change.

Install

Requires Paseo 0.9.1 or later. Install on the daemon host where Claude Code runs, because the plugin reads that machine's ~/.claude (or $CLAUDE_CONFIG_DIR). The host needs npm on the daemon's PATH.

paseo daemon config set pluginsEnabled true   # or Settings → Plugins → Enable plugins
paseo plugin install npm:paseo-claude-workflows
paseo plugin ls

For a remote daemon, add --host <host> before the command (for example paseo --host ssh://user@box plugin install npm:paseo-claude-workflows), or paste npm:paseo-claude-workflows into Settings → Plugins while connected to that host. Update with paseo plugin update claude-workflows.

Develop

npm install
npm run typecheck && npm test
paseo plugin install "$PWD"                  # directory install
paseo plugin reload claude-workflows         # after edits
paseo plugin logs claude-workflows
npx tsx server/cli.ts [runId]                # collector output as JSON, no Paseo needed

Limits

  • Agents that are queued but not yet started aren't on disk while a run is live, so a phase that hasn't started shows as "waiting…" until its agents spawn. The final snapshot fills in exact queued and skipped states.
  • A killed run with no snapshot shows as Stalled after 15 minutes without file activity.
  • There's no Stop button. Stopping a workflow has to happen inside the Claude session that owns it.
  • The inline card and composer pill apply to Claude agents run through Paseo. Tasks from Claude desktop or the CLI appear in the sidebar surface.
  • A shell that was killed, or whose Claude session exited, never gets an exit marker. It shows as Stalled after 30 minutes without output.
  • For other harnesses the plugin shows Paseo child agents only. Provider-internal subagents (for example Codex's own) appear in Paseo's built-in Subagents track; the plugin SDK doesn't expose them.