gob CLI
A background process manager for agents: the agent starts a dev server and reads its logs, status and ports later, plus a TUI
- 76 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The agent can start and stop any process as the user
- Job logs are stored locally and may contain tokens and other secrets from program output
Install
- Works in
Manual install
brew tap juanibiapina/taps && brew install gobInstall through Homebrew. Other options: `go install github.com/juanibiapina/gob@latest` and release binaries.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent can start and stop any process as the user
- Job logs are stored locally and may contain tokens and other secrets from program output
This is third-party code. Review the repository files before installing.
What it does
gob replaces `&`, `nohup` and forgotten tmux panes with a shared job store that both a person and an agent can see. The agent starts a server or a build with `gob add -- npm run dev` and reads logs, status and ports on a later turn with `gob logs`, `gob list` and `gob await`. `gob run make test` starts a process and waits for it to finish. Jobs are scoped to a directory, stored in SQLite and survive daemon restarts. Ports are inspected across the whole process tree of a job, and stop and restart verify that every child is gone. A run history keeps statistics and progress estimates for repeated commands. Stuck detection returns control early while the job keeps running. Dangerous commands can be blocked so an agent does not run them by accident. `gob tui` opens a full-screen interface with panels for jobs, ports, runs, stdout and stderr, and changes from the CLI appear there instantly. A `.config/gobfile.toml` in the project lists jobs that the TUI starts on launch. The agent skill `gob` installs with `npx skills add juanibiapina/gob`.
Who it is for. Developers whose agents start dev servers, builds and watchers and then need to read their output without blocking the conversation.
Good fit when
- The agent starts `npm run dev` and must later read interface errors from the logs
- Several builds run in parallel and each is awaited by id through `gob await`
- You want to see the same processes and logs as the agent in one TUI
- You want to know which ports the job process tree listens on
- A project job set starts itself from `gobfile.toml` when the TUI opens
Not a fit when
- You run a quick one-shot command such as `git status` or `ls`: the skill itself rules gob out for them
- The command uses a pipe, `&&` or shell variables: gob takes a binary with arguments and does not take a shell line
- You manage containers and remote machines
Example request
Start the frontend through gob, wait five seconds and send me the latest errors from the logs and the port it listens on.Limitations
It runs on Linux and macOS, on amd64 and arm64. Install through `go install` needs Go 1.25.4 or newer. A command is given as a binary with arguments after `--`, and no shell interprets it: pipes, `&&`, globs and `$VAR` do not expand. The daemon keeps state in SQLite, and run history grows until you delete it with the `d` key or `gob remove`. Stopping has no confirmation, and `gob stop` signals the process and its children right away.
How to disable. Remove the skill with `npx skills remove`, stop jobs with `gob stop` and remove the program with `brew uninstall gob` or by deleting the binary from `$GOPATH/bin`.
FAQ
How do I install gob?
Through Homebrew (`brew tap juanibiapina/taps`, `brew install gob`), with `go install github.com/juanibiapina/gob@latest` or a prebuilt binary from the releases page.
Which agents work with gob?
The skill from `skills/gob/SKILL.md` installs into Claude Code, Cursor, Codex and other agents through the skills CLI. The instructions can be copied into `CLAUDE.md` or `AGENTS.md`.
How do I see a job log?
With `gob logs abc`, where `abc` is the 3-character job id. For a live stream there is `gob follow`.
Do jobs survive a daemon restart?
Yes, state is kept in SQLite, so jobs persist across daemon restarts.
How do I start project jobs automatically?
Create `.config/gobfile.toml` with `[[job]]` blocks, each with a `command` and a `description`. The TUI starts them on launch, and `autostart = false` only adds the job.
Discussion
No questions or reviews yet.
Related
CLI toolsA Rust CLI and TUI: agents in containers, parallel tabs, TOML workflows from issue to PR and a scheduled agent squad
A server-side web job runner with an MCP endpoint: Claude Code runs jobs and workflows, reads their results and answers notes
Tako VM runs agent code in single-use Docker containers with a job queue, run history and network isolation
A background daemon loops over GitHub or Forgejo issues, drafts specs, reviews and fixes PRs until they are ready for human merge.
A CLI that installs shared skills, commands, subagents, hooks and MCP servers into eight AI coding tools in their native layouts
gitai is an open source-control server for hundreds of agents: landing by compare-and-swap, server-side history and the graft CLI.
README in short
Covers the manager features, install through Homebrew, `go install` and binaries, a quickstart, working with agents through the skill, the TUI with key bindings and `gobfile.toml`.