TaskWatch v0.1.0-preview is a Windows 10/11 x64 technical preview for inspecting AI coding-agent processes and launching supervised CLI sessions. It has no user-facing process-termination feature.
- Read-only auto-detection of the packaged Codex Desktop application and external Codex CLI agent processes.
- Supervised launches of Claude Code and Codex CLI from a workspace you choose in TaskWatch.
- Recent, redacted Codex activity (state, tool, model, and context usage) from active rollout files.
- Human-readable session inspection: an advisory lifecycle assessment, semantic process-role breakdown, current-run Codex activity, and the exact process tree.
- Read-only process-tree inspection, refresh, and restart recovery for eligible supervised sessions.
For Job Object supervision, launch Claude Code or Codex CLI through TaskWatch. Existing Codex CLI processes are detected automatically but remain observed and ephemeral; they are never adopted into supervision. Existing Claude Code processes are not discovered.
- Windows 10 or Windows 11 on x64.
- Go 1.25 or later to build from source.
- Claude Code and/or Codex CLI on
PATHif you plan to launch them from TaskWatch.
There is no downloadable binary, installer, or other release artifact yet. A future GitHub Release will provide the supported download path.
Early unsigned Windows preview builds may trigger a Microsoft Defender SmartScreen warning. When artifacts are published, download them only from the project's GitHub Releases page and verify any published checksum before proceeding.
All Go commands must use the repository wrapper, which keeps Go caches and temporary files inside .cache/:
./scripts/go-local.ps1 -GoArgs @("build", "-o", ".\taskwatch.exe", "./cmd/taskwatch").\taskwatch.exeIn the terminal UI:
- Press
cto launch Claude Code, orxto launch Codex CLI. - Choose a workspace (or enter one) for that new session.
- Press
Enterto inspect the selected session. Inspection is one scrollable document: session context, an advisory assessment, current-run Codex activity, a semantic resource breakdown, and the process tree. - Press
tduring inspection to toggle the exact raw process tree. - Press
rto refresh immediately. - Press
Ctrl+Cto close TaskWatch. It leaves all processes running.
- Assessment is advisory only and never offers a cleanup action.
ACTIVEandFINISHEDmean no cleanup is suggested;NEEDS REVIEWappears only for a proven supervised leftover (a session TaskWatch launched whose original process exited while validated members of its Job Object remain);UNKNOWNcovers stale, inaccessible, or internally inconsistent sessions. Every verdict lists the exact reasons TaskWatch reached it, and the assessment is derived purely from lifecycle state and exact process identity — activity and role labels never influence it. - Semantic roles group each validated process into exactly one role (agent runtime, shell command, test runner, development server, browser automation, MCP/tool server, code intelligence, or background helper). Role counts and resource totals always add up to the session's exact process set; the labels are display-only.
- Agent activity history is Codex-only and kept in memory for the current TaskWatch run: it survives a Codex signal briefly leaving the 15-minute rollout window (shown as retained rather than current) but is never persisted and resets when the session or its root identity changes, or when TaskWatch restarts. Claude inspection states that the activity signal is unavailable in this preview. Missing activity is never rendered as idle, finished, or safe to stop.
Command-line information is also available without opening the UI:
.\taskwatch.exe --help
.\taskwatch.exe --versionTaskWatch stores state under %LOCALAPPDATA%\TaskWatch:
sessions.jsoncontains schema-versioned metadata for supervised-session recovery.workspaces.jsoncontains the independently versioned list of recent launch workspaces.
Observed Codex Desktop/CLI sessions and rollout activity are deliberately not persisted: they are valid only while TaskWatch can currently validate the process family and recent activity files.
- There is no user-facing termination or safe-exit flow. The
kandqkeys do not terminate or close sessions outside the workspace editor. - Only CLI sessions launched through TaskWatch are supervised. Already-running Codex CLI sessions are observed automatically; already-running Claude Code sessions are not found.
- Restart recovery remains available while the supervised session's Job Object still has running processes.
- Codex Desktop observation covers only its current validated application tree, not historical sessions or detached/rootless processes.
- Codex activity reads only active
.jsonlrollout files from the last 15 minutes. Cold.zsthistory and subagent rollouts are deliberately skipped. - Prompts, assistant text, tool-argument values, command lines, cumulative token/cost analytics, and subagent hierarchy are never displayed or retained as activity.
- Protected or elevated processes can be visible but inaccessible to TaskWatch running as a standard user.
- Windows 10/11 x64 is the only supported preview target.
TaskWatch exposes no process-cleanup or termination action in this preview. Its inspection views and rollout enrichment are read-only. The advisory assessment (including NEEDS REVIEW), semantic role labels, and activity history are display-only: they add no cleanup key, confirmation flow, or termination target. Activity correlation, including visibly labeled inferred matches, never changes process identity, lifecycle, resources, persistence, or any future termination decision. Closing TaskWatch does not close supervised applications, and the Job Objects it uses are not configured to kill processes when TaskWatch exits.
The project’s safety model is designed around exact process identity (PID plus creation time), conservative handling of unreadable metadata, and explicit user confirmation before any future termination capability could be made available.
Use the wrapper for all Go commands:
./scripts/go-local.ps1 build ./...
./scripts/go-local.ps1 test ./...
./scripts/go-local.ps1 vet ./...
./scripts/go-local.ps1 fmt ./...Run one package's tests with, for example:
./scripts/go-local.ps1 test ./internal/coreClose TaskWatch with Ctrl+C, then remove any future downloaded executable or installation using its release-specific instructions. To remove TaskWatch's saved session and recent-workspace metadata, delete %LOCALAPPDATA%\TaskWatch:
Remove-Item -LiteralPath "$env:LOCALAPPDATA\TaskWatch" -RecurseRemoving this state does not terminate any CLI or desktop processes.
See Contributing, Security, third-party notices, and the MIT License.