Skip to content

Releases: kulikala/obsidian-agent-sessions

0.5.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 15:06

Fixes

  • On Obsidian 1.13 and later, the plugin's settings appear in Obsidian's settings search, and the settings tab is drawn in the same grouped style as Obsidian's own tabs.
  • Timers in the agent runs that suggest names and categories use the window's timer functions, which keeps them working with popout windows.
  • The welcome guide's window keeps the position you drag it to without setting inline styles.
  • Small stylesheet cleanups (the usage limits rows, grid gaps, a duplicate rule, an !important). Nothing changes on screen.

0.5.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 11:48

Windows

  • Native Windows (Windows 10 1809 or later, Windows 11) runs Claude Code, Codex and OpenCode. Sessions live in ConPTY consoles held by the helper program, which talks to the plugin over 127.0.0.1 with a token.
  • The welcome guide finds Python and Claude Code, and offers to install them with WinGet (per user, no administrator prompt).
  • Ctrl+V pastes and Ctrl+C copies a selection in session tabs.
  • Agents installed through npm (.cmd), WinGet, Scoop or Chocolatey are found and started.
  • On ARM Windows, use OpenCode's x64 build: the ARM64 build can't start its terminal screen.

Welcome guide

A guide opens on first install and after updates. It checks Python and the agents, shows what the helper program will write before installing it, and walks through a first session: starting one, switching tabs, renaming, and the built-in editor. Resume it any time with Continue the welcome guide.

Activity calendar

A new view shows when each agent was working, in the 7-day usage window, a week or a day.

  • A block runs from a prompt to the end of the agent's reply, including sub-agent work. Nearby blocks join at 30 minutes, 1 hour or 2 hours.
  • Click a block to see its prompts and replies, and open the session from there.
  • Each session keeps one left-to-right position on every day.
  • Per-agent summary cards double as switches. A line marks the current time.

Session analytics and usage

  • Session analytics shows a session's cost, tokens, turns, duration and tool use, with one row per prompt. Select a range of turns, and copy the result as Markdown.
  • A cost that leaves out replies with no known price is shown as $1.20+, or — when nothing is priced, instead of $0.00.
  • A usage window that is used up shows 100% and the time it ran out, for example "Used up 3:26 PM (2h 12m before reset)".
  • Folded agent panels in the Session manager stack at the top.

Sessions

  • Organize names and categories: an agent suggests a name and category for recent sessions, or for one session from its menu. Nothing changes until you apply.
  • The session menu is grouped, and adds Restart session (picks up changed settings and skills) and, for Claude Code, Change model….
  • The built-in editor has Model and Effort dropdowns for Claude Code.
  • Codex sessions can be named when you create them.
  • A tab not yet matched to its session appears under Open tabs right away.
  • The Remote Control title follows the session's name, including after a restart and after renaming a session that isn't running.
  • Codex profiles: set CODEX_HOME (and CODEX_SQLITE_HOME) in the Codex environment setting, and sessions, usage and the managed config.toml lines follow it.
  • A Claude Code session that restarts itself under a new id stays in its tab.
  • A second agent skill, agent-sessions-help, answers questions about the plugin.

Fixes

  • Codex starts with --no-daemon when the installed Codex has the flag, so each tab's Codex has its own environment.
  • Reopening a Codex or OpenCode session from the list attaches to the running one instead of starting a second copy.
  • Clicking the idle notice opens a Codex or OpenCode session with its own agent.
  • Codex usage no longer drops priced calls that follow a call with no price.
  • OpenCode sessions are read from the database OpenCode itself uses (OPENCODE_DB, channel databases).
  • Codex and OpenCode settings files (status line, keys) are set up at install, and once for agents enabled before.
  • A session can start in a pane that has no room yet.

0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 14:12

OpenCode as a third agent

  • Sessions are listed from OpenCode's own database (read-only), side by side with Claude Code and Codex. Sub-agent sessions and opencode run sessions are left out.
  • Launch OpenCode directly, or through ollama launch opencode --model <model> for local models (Settings → Agents → OpenCode). Sessions resume by id either way.
  • Status (working, idle, waiting for a permission or a question) comes from a small status plugin installed into OpenCode's config folder while OpenCode is enabled.
  • Status line: a row at the bottom of OpenCode's session screen with the submit-key symbol and the session state.
  • Keys: the submit-key setting and Ctrl+G (the built-in editor) work in OpenCode tabs; OpenCode's tui.json keybinds are adjusted to match and restored when OpenCode is disabled or the program is removed.
  • Renaming an OpenCode session keeps the name in Agent Sessions (OpenCode has no /rename). Compact session sends /compact.

Editor key setting

Choose the key that opens the built-in editor — Ctrl+G (default), Ctrl+Q or Alt+G. It's written into Claude Code's keybindings.json, Codex's config.toml and OpenCode's tui.json only where it differs from that agent's own default, and restored when you switch back.

Agent skill, installed with the program

An agent-sessions skill is placed in the vault (.claude/skills/, .agents/skills/ or .opencode/skills/, depending on the enabled agents) together with the program, and updated with it. Agents running in the vault can use it to show usage statistics, list and inspect other sessions, and — only when you ask — start a new session. Its text names only the agents you have enabled. New CLI commands back it: agent-sessions new, sessions, show and stats.

Built-in editor

  • Tab and Shift+Tab indent and outdent by two spaces.
  • Cmd+W (macOS) / Ctrl+W no longer closes the tab while the editor is open.
  • "Send" submits in Codex and OpenCode tabs too.

Side panel and manager

  • Clicking "Needs input" or "Needs review" highlights those sessions' rows instead of opening one.
  • The "more" menus use the platform's ellipsis: horizontal on macOS, vertical on Windows and Linux.

Fixes

  • End session works for Codex sessions started or resumed from the list, and an ended Codex or OpenCode session leaves "Running" without a rescan.
  • Compact session is disabled only right after a compaction, not for the rest of the session.
  • Compact session reliably runs /compact: Claude Code gets Tab to accept the completion (and Ctrl+S only when there is a draft to stash), Codex gets a trailing space, OpenCode gets the Return after its popup is up.
  • Codex and OpenCode sessions started without a first message are linked to their real id once it exists.

0.3.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:46

Follow-ups to the community directory's automated review.

  • Build provenance. main.js, manifest.json, and styles.css now carry GitHub artifact attestations. Verify with gh attestation verify main.js --repo kulikala/obsidian-agent-sessions.
  • Obsidian 1.8.7 or later. The display language is read through Obsidian's getLanguage() instead of localStorage.
  • Timers use window.setTimeout and friends throughout, for popout-window compatibility.
  • The naming dialog's input no longer relies on !important.
  • README disclosures now also cover vault file listing (for @ completion) and clipboard use.

0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 04:59

Highlights

  • One-click install of the agent-sessions program. The Python program behind every session now ships inside the plugin as plain source. After installing Agent Sessions from Community plugins, open the side panel and click Install agent-sessions: a dialog shows where it will go, which Python will run it, and the change to Claude Code's settings before anything is written. Updating the plugin updates the program; Settings → agent-sessions program reinstalls or removes it. Python 3.9 or later is still required.
    • Location: the first usable of $XDG_DATA_HOME/agent-sessions, ~/.local/share/agent-sessions, ~/.agents/sessions/app (paths with spaces or shell-special characters, inside the vault, or not writable are skipped).
    • Python: the login shell's python3, then /opt/homebrew/bin, /usr/local/bin, /usr/bin — on macOS the last only once the Command Line Tools are installed.
    • An existing ~/bin/agent-sessions from install.sh keeps being used.
  • Supported platforms only. On native Windows the plugin now loads inactive and says why, instead of failing.

Changes

  • agent-sessions setup --command <launcher> points Claude Code's hooks and statusLine at a given launcher; entries of ours are recognized whichever launcher they name.
  • install.sh / uninstall.sh: the vault argument is optional (program and hooks only).
  • README: a Disclosures section (no network use, the programs it runs, files it reads and writes outside the vault), install and uninstall steps for Community plugins, and screenshots.
  • Code clean-up for Obsidian's official lint rules (no errors); a few English labels are now sentence case ("Just now", "Yesterday").

0.2.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 00:04

Fixes

  • Ctrl keys in the terminal on Windows and Linux. Obsidian's own hotkeys no longer take Ctrl combinations the terminal needs while it has focus — Ctrl+G (the agent's external editor) previously opened the graph view instead. Ctrl+Tab, Ctrl+, and other Obsidian shortcuts are left to Obsidian.
  • Session names in idle notices. The "waiting for input" notice for a new session showed a placeholder name when it arrived before the session list had caught up; the session is now rescanned first so the notice carries its real name.
  • Side panel on startup. The side panel shows a loading message until the first scan finishes, instead of briefly showing the "no sessions yet" screen.
  • Usage pace wording. The pace messages in the Session Manager's analytics now read clearly (in both English and Japanese): usage expected by reset, when the limit would be hit, and the daily or hourly budget that keeps usage within it.

0.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 23:52

Agent Sessions 0.2.0 adds OpenAI Codex CLI alongside Claude Code, and Linux support.

Codex CLI

  • Enable Claude Code and/or Codex in settings; each is auto-detected (login shell, interactive shell, and common locations such as mise, asdf, volta, nvm), with a custom path and environment variables.
  • Choose the agent when starting a new session (skipped when only one is enabled). Codex and Claude Code sessions are listed together in the side panel and the Session Manager.
  • Codex sessions resume in their tab, pick up names (including /rename), model and effort, live status (from the terminal title and the session log), and usage.
  • The submit key setting also applies to Codex (written to ~/.codex/config.toml, removed on uninstall).

Session Manager and side panel

  • Per-agent analysis panels, each foldable, showing every usage window the account really has (for example a 30-day window) with a pace projection and per-category costs.
  • Status groups aligned with Claude's own (needs input, needs review, running, done, archived), with a status filter in the Session Manager.
  • Relative dates everywhere, locale-aware date formats, thousands separators, aligned usage bars, a clearer front-tab highlight, "Move to category…" with autocomplete, and a new empty state.

Platform and setup

  • Linux support (including Linux Obsidian under WSLg); Windows native is not supported.
  • scripts/install.sh <vault> and scripts/uninstall.sh (with --force / --purge); agent-sessions setup --remove undoes only this project's own changes.
  • Sessions launched from Obsidian also get the interactive shell's PATH, so tools installed through version managers are found.

See the README for requirements and setup.

0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 05:07

First release of Agent Sessions — run and manage Claude Code sessions as terminal tabs in Obsidian.

  • Terminal tabs backed by a daemon that keeps each session's PTY alive across tab close and Obsidian restarts
  • Side panel: open tabs, running and recent sessions, state icons, needs-input / needs-review badge, 5-hour / 7-day rate-limit bars
  • Session Manager: sessions grouped by category, status filter, model / effort / cost columns, 5-hour and 7-day usage analytics with a weekly pace projection
  • Session states aligned with Claude's own grouping (needs input, needs review, running, done, archived)
  • Built-in editor for Ctrl+G, naming with categories, per-session usage analysis
  • English and Japanese UI; macOS tested, Linux supported

Installation requires the Python side of this repository (scripts/install.sh); see the README for requirements and setup.