Agent usage.
Work made visible.
See what was produced, where time went, and which project it belongs to.
Find historical projects
Unlinked runs grouped by observed work locations, not launch directories. Review their activity before creating or choosing a project. A shared path is a clue, not proof that every run belongs together.
Explore 0 work-location groups
Runs
Measured run duration, estimated activity, and human work time are different. Unknown values are not zero. Totals cover all matching runs; the list shows the latest 200. Overlapping sources must be reconciled before billing.
| Run / owner | Location / machine | Tokens | Agent runtime | Project |
|---|
Loading runs…
Projects
Connect coding runs to the projects you track time against. Human time and agent runtime stay separate; tokens belong only to agent runs.
Agent API tokens
Tokens can submit your runs only, in this workspace. Store them in your credential manager. They are shown once and cannot read other users’ data.
Global agent instructions
Copy these nonsensitive instructions into CLAUDE.md / AGENTS.md. They describe the API; they do not install a collector or guarantee synchronization.
Read submission instructions
SlimTimer agent accounting Service: POST /api/agent-runs with Authorization: Bearer <token supplied by your approved credential manager> and Content-Type: application/json. Never store tokens in CLAUDE.md, AGENTS.md, repository files, prompts, or logs. Submit observed cumulative usage metadata only. Preserve actual runtime, native session ID, machine, model, and parent GitHub repository URL. Do not invent identity or usage. Omit unknown fields or use null; zero means measured zero. Use a persistent, increasing snapshotVersion for each runtime + sessionId + machine. Retries reuse the same version; newer versions replace the whole snapshot. Do not send per-turn deltas. Keep cached/reasoning tokens within input/output totals. Allowed fields: runtime (claude|codex|openclaw), sessionId, machine, snapshotVersion, observedAt (Unix milliseconds), repository, projectId, model, taskLabel, cwd, worktree, launchCwd, workPaths, pathSource, summary, inputTokens, outputTokens, cachedTokens, reasoningTokens, cacheWriteTokens, startedAt, endedAt, totalTokens, measuredSeconds, estimatedSeconds. Never submit transcripts, prompts, reasoning text, tool arguments/results, secrets, or customer content. Record launchCwd separately from the actual project. Native pwd/session cwd can be a generic harness directory. For cwd/workPaths, use explicit execution workdirs or verified artifact locations on the actual execution host, not the controller filesystem. Set workdir explicitly for project commands. workPaths accepts up to 20 absolute directories; retain multiple locations instead of choosing the last. pathSource: reported, tool-target, launch-only, or unknown. If only launch context is known, set launchCwd and pathSource=launch-only and omit cwd/worktree/workPaths. Never translate /home to /Users or infer a Git root from a folder name. Verify worktree using Git in the actual checkout. Include summary (max 2000 characters, single-line plain text) describing work actually produced, key artifacts and verification or remaining blockers. Update it at completion or handoff; do not describe planned work as completed. Preserve earlier outcomes in multi-task sessions. Omit unavailable details rather than guessing. Paths and summaries must be nonsensitive; do not copy raw tool output or transcripts. Do not start human timers. If submission is unavailable, preserve context locally and report the accounting gap, not successful tracking. Projects match canonical parent GitHub repositories across worktrees. Token scope determines the user and workspace; never send userId or workspaceId. Explicit relinking is done in the app.