Skip to content

Feature request: Track Codex and Claude activity by session/thread #2

Description

@leightonhughes

Summary

I would like Omalog to attribute activity in Codex and Claude to individual sessions or threads, rather than aggregating all activity under the ChatGPT/Codex/Claude application.

This is primarily for reporting how much active time was spent on different tasks. I am not requesting token or billing usage tracking.

Current behaviour

I currently use Codex through the ChatGPT desktop app on Omarchy. Omalog correctly reports the total time spent in the app, but activity from every Codex session is combined under chatgpt.

On my system, ActivityWatch records:

  • Application: chatgpt
  • Window title: ChatGPT

The window title does not change when I switch between sessions, so the standard ActivityWatch window events do not contain a session title or identifier.

Desired behaviour

An optional “AI sessions” breakdown, for example:

  • Codex — Implement authentication: 1h 20m
  • Codex — Investigate deployment failure: 45m
  • Claude Code — Project Alpha: 2h 10m

Ideally, each entry could include:

  • Tool: Codex, Claude or Claude Code
  • Session/thread title or ID
  • Project or working directory, when available
  • Active foreground time
  • Day/week/month totals

Possible approaches

Would any of the following be feasible?

  1. Group ActivityWatch window events by title when an application exposes meaningful titles.
  2. Support an app-specific watcher or importer for AI coding tools.
  3. Read local session metadata as an optional source:
    • Codex stores local session data under ~/.codex/sessions/.
    • Claude Code hooks expose fields such as session_id, transcript_path and cwd.
  4. Correlate session activity or transcript updates with ActivityWatch foreground-app events.

I understand that exact attribution may not be possible when the desktop application exposes only a generic window title. In that case, would this need a custom ActivityWatch watcher, an Omalog-specific integration, or an upstream change to the ChatGPT/Codex application?

Privacy

Because thread titles and project names may be sensitive, this should ideally be:

  • Opt-in
  • Local-only
  • Configurable to use titles, IDs, project names, or redacted labels
  • Limited to metadata without reading or displaying prompt contents

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions