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?
- Group ActivityWatch window events by
title when an application exposes meaningful titles.
- Support an app-specific watcher or importer for AI coding tools.
- 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.
- 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
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:
chatgptChatGPTThe 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:
Ideally, each entry could include:
Possible approaches
Would any of the following be feasible?
titlewhen an application exposes meaningful titles.~/.codex/sessions/.session_id,transcript_pathandcwd.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: