github →

New request

#2841: Feature request: show cron job output as sessions in the WebUI sidebar

We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.

Issue
enhancementuxtasks

Problem

Cron jobs produce useful output (knowledge base archiving, daily reminders, skill audit reports, etc.), but their sessions are hidden from the WebUI sidebar by multiple filtering layers:

  1. show_cli_sessions setting defaults to False (api/config.py:~4347)
  2. Even when show_cli_sessions is enabled, _hide_from_default_sidebar() (api/models.py:1887) explicitly hides sessions with source='cron'
  3. The dedup merge in api/routes.py:4076 applies _cron_hide (alias of _hide_from_default_sidebar) as an additional filter

Users can see cron output via the Tasks panel (click a job -> view run history), but cannot open it as a proper conversation in the Chat sidebar.

Suggested Solution

Add a dedicated show_cron_sessions setting (default: False) that controls whether cron job sessions appear in the Chat sidebar as importable conversations, independent of show_cli_sessions.

Backend changes

  • api/config.py: Add "show_cron_sessions": False to default settings
  • api/models.py or api/agent_sessions.py: Modify the cron session filtering to respect the new setting
  • api/routes.py: In the session merge logic, include cron sessions from CLI state.db when show_cron_sessions is True, bypassing _cron_hide for those sessions

Frontend changes

  • static/index.html: Add a checkbox in Settings -> Preferences (alongside the existing "Show non-WebUI sessions" toggle)
  • static/panels.js: Wire the checkbox to the settings save/load flow
  • static/i18n.js: Add i18n keys for the new setting

Code pointers

LayerFileLine
Cron session hidden from sidebarapi/models.py:_hide_from_default_sidebar()~1887
Cron session filtered from dedup mergeapi/routes.py:deduped_cli~4076
show_cli_sessions default valueapi/config.py~4347
Existing checkbox referencestatic/index.html~1156

Workaround

Users can currently go to Settings -> Preferences and enable "Show non-WebUI sessions", which pulls cron sessions from state.db. However, they remain subject to _hide_from_default_sidebar() filtering. Some cron sessions may appear if they were previously imported as WebUI sessions or have sufficient user message count to pass is_cli_session_row_visible().

Assessmentadvisory
feature●● medium90% confidence

Adds a user preference and end-to-end filtering logic to surface cron job sessions in the chat sidebar.

Likely files
  • api/config.py
  • api/models.py
  • api/routes.py
  • api/agent_sessions.py
  • static/index.html
  • static/panels.js
Create the request

This opens a fresh agent run and a draft PR for issue #2841.

Cancel