@workgraph/agent
Local agent for Workgraph. Polls the
cloud server for jobs and runs them against the Claude CLI on your machine
— so your code never leaves your laptop.
Prerequisites
- Node 20+
claude CLI installed and authenticated (claude /login works)
git configured for any private GitHub repos you want to document
Install
npm install -g @workgraph/agent
workgraph login
workgraph login defaults to the hosted Workgraph server at
https://workgraph.space. Self-hosters can override with
--url or the WORKGRAPH_SERVER_URL env var.
Commands
workgraph login
workgraph login --dev
workgraph login --url <url>
workgraph status
workgraph logout
workgraph run
workgraph repo add <owner/name> <path>
workgraph repo list
workgraph repo remove <owner/name>
Configuration
Credentials are stored at ~/.workgraph/config.json (mode 0600). The
file contains your agent ID, bearer token, and the server URL you paired
against. Delete with workgraph logout.
Environment variables:
WORKGRAPH_SERVER_URL | Default server URL for workgraph login (overridden by --url). |
WORKGRAPH_CONFIG_DIR | Override config + data dir (default ~/.workgraph). Useful for running a dev build alongside the globally-installed agent. |
Build from source
npm install
npm run build
node dist/index.js run
Running the dev build alongside a globally-installed agent
Both binaries default to ~/.workgraph/config.json, so they would clash on
credentials and repo mappings. Point the dev build at a separate directory
with WORKGRAPH_CONFIG_DIR:
cd packages/agent
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev:login
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev:watch
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev:status
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev:logout
WORKGRAPH_CONFIG_DIR=~/.workgraph-dev npm run dev:repo -- list
The globally-installed workgraph binary keeps using ~/.workgraph as
before — they do not see each other's config, repo maps, or auto-managed
clones. Run them in separate terminals if you want both polling at once.
Test
npm test
License
MIT — see LICENSE.