Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Terminal Agent Tabs

hirose30hirose3081 downloads

Run multiple agent CLI sessions (Claude Code, Codex, Gemini, etc.) as editor tabs.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

An Obsidian plugin that lets you run multiple agent CLI sessions (Claude Code, Codex, Gemini CLI, etc.) as tabs within Obsidian.

Features

  • Multiple Sessions: Run multiple CLI sessions in parallel as Obsidian tabs
  • Configurable CLI Profiles: Add profiles for any agent CLI (Claude Code, Codex, Gemini, Grok, etc.)
  • Session Sidebar: Overview of all sessions with status, notifications, and quick navigation
  • Per-Tab Font Size: Adjust font size independently for each tab (Ctrl/Cmd +/-)
  • Send Selection: Send selected text from your notes to the active session
  • Dynamic Titles: Tab titles auto-update based on terminal output (OSC sequences)
  • Session Resume: Resume previous sessions from termination screen or tab menu
  • Split Views: Split session tabs horizontally or vertically
  • Hook Notifications: Watch a JSONL event file and show notices for hook events (permissions, errors, task completion)
  • Notification Sound: Optional audible alerts for hook events
  • Dock Badge: macOS dock badge shows notification count
  • Ghostty Themes: Load terminal color themes from Ghostty config
  • OSC 52 Clipboard: Sync terminal clipboard events to system clipboard

Requirements

  • Obsidian Desktop 1.0.0+
  • macOS (primary supported platform)
  • At least one CLI available locally (default profile uses claude)

Installation

From GitHub Release (recommended)

  1. Go to the latest release
  2. Download main.js, manifest.json, styles.css, pty-helper.py, hook-relay.py
  3. Place them in your vault as follows:
    <vault>/.obsidian/plugins/terminal-agent-tabs/
    ├── main.js
    ├── manifest.json
    ├── styles.css
    └── resources/
        ├── pty-helper.py
        └── hook-relay.py
    
  4. Restart Obsidian and enable the plugin in Settings > Community Plugins

From Source

  1. Clone this repository
  2. Run npm install && npm run build
  3. Copy main.js, manifest.json, styles.css, and the resources/ folder to:
    <vault>/.obsidian/plugins/terminal-agent-tabs/
    
  4. Restart Obsidian and enable the plugin in Settings > Community Plugins

Commands

Command Description
New session tab Open a new session with the default CLI
New session tab (choose target) Open a new session after selecting a CLI profile
Send selection to current session Send selected text to the active session
Toggle session sidebar Show/hide the session sidebar
Focus active session Jump to the last active session tab
Focus next / previous session Cycle through session tabs
Split session (horizontal / vertical) Split the current session view
Increase / decrease / reset font size Adjust font size in the current tab

Settings

CLI Profiles

Configure one or more CLI profiles with custom executable paths, default arguments, and resume support.

Terminal Appearance

  • Color theme (Ghostty themes supported)
  • Font size and font family
  • Custom block glyphs toggle
  • OSC 52 clipboard sync

Hook Notifications

Monitor a JSONL file for agent hook events and display notifications.

  1. Enable Agent Hook Notifications in plugin settings
  2. Optionally enable Play notification sound
  3. Set Hook events file path (or leave empty for default)
  4. Append JSON objects from your CLI hook script:
{"event":"stop","source":"claude","message":"Task finished"}

Send Selection Options

  • Wrap selection in code block
  • Include note file path

Development

npm install
npm run dev    # Watch mode
npm run build  # Production build

License

MIT

83%
HealthExcellent
ReviewCaution
About
Run multiple agent CLI sessions (Claude Code, Codex, Gemini, Grok, etc.) as tabs inside Obsidian. Manage sessions from a sidebar, resume or split tabs, auto-update titles, adjust per-tab font size, send note selections to a session, receive hook notifications with optional sounds, and sync terminal clipboard via OSC52.
AIIntegrationsSidebar
Details
Current version
1.0.1
Last updated
4 days ago
Created
2 months ago
Updates
2 releases
Downloads
81
Compatible with
Obsidian 1.0.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
hirose30hirose30
github.com/hirose30
GitHubhirose30
  1. Community
  2. Plugins
  3. AI
  4. Terminal Agent Tabs

Related plugins

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

HiNote

Add comments to highlighted notes, use AI for thinking, and flashcards for memory.

Snipd Official

Sync Snipd podcast highlights to your vault with transcript, notes, AI summaries and metadata.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Local REST API & MCP Server

Unlock your automation needs by interacting with your notes over a secure REST API.

Recent Files

Display a list of recently opened files.

Copilot

Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.

Claudian

Embeds Claude Code/Codex as an AI collaborator in your vault. Your vault becomes agent's working directory, giving it full agentic capabilities: file read/write, search, bash commands, and multi-step workflows.

Smart Connections

AI link discovery copilot. See related notes as you write. Lookup using semantic (vector) search across your vault. Zero-setup local model for embeddings, no API keys, private.