Claude Code Terminal

pending

by Daniel Ternyak

Embedded terminal with Claude Code AI integration.

6 starsUpdated 2mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Claude Code Terminal

An embedded terminal plugin for Obsidian that integrates with Claude Code, Anthropic's AI coding assistant. Screenshot 2026-02-02 at 12 12 32 AM

Obsidian Platform License

Features

  • Floating Terminal: Quick-access popup window
  • Sidebar Integration: Dock to Obsidian's native right sidebar
  • Auto-launch Claude: Optionally start Claude Code automatically when terminal opens
  • Theme Matching: Terminal colors adapt to your Obsidian theme
  • Resizable & Draggable: Floating window can be positioned and resized
  • Full PTY Support: Real terminal emulation via node-pty

Requirements

  • Obsidian 1.5.0 or later (desktop only)
  • Claude Code CLI installed and configured (installation guide)
  • Node.js 18+ (for building from source)
  • Build tools for compiling native modules (Xcode Command Line Tools on macOS, build-essential on Linux, Visual Studio Build Tools on Windows)

Installation

From Community Plugins

  1. Open Obsidian Settings > Community plugins
  2. Search for "Claude Code Terminal"
  3. Install and enable

From Source

This plugin uses native modules that need to be compiled for your system.

cd /path/to/your/vault/.obsidian/plugins
git clone https://github.com/dternyak/claude-code-terminal.git
cd claude-code-terminal
npm install
npm run rebuild:electron
npm run build

Restart Obsidian and enable in Settings > Community plugins.

Electron Version Note

The rebuild:electron script is configured for Electron 37.3.1 (Obsidian 1.9.x). If you're using a different Obsidian version, you may need to adjust the Electron version in package.json:

# Check Obsidian's Electron version
# In Obsidian: Open Developer Tools (Cmd+Option+I) > Console > process.versions.electron

# Update rebuild command if needed
npm run rebuild:electron -- -v YOUR_ELECTRON_VERSION

Usage

Toggle Terminal

Easiest: Cmd+P (Mac) or Ctrl+P (Windows/Linux) → type "Claude" → select command

Or use:

  • Hotkey: Cmd+Shift+</kbd> (Mac) / <kbd>Ctrl+Shift+ (Windows/Linux)
  • Ribbon: Terminal icon in left sidebar

Floating Window Controls

ButtonAction
+Clear terminal
Panel iconDock to right sidebar
-Hide (terminal keeps running)
xClose and terminate session

Sidebar Mode

When docked in the right sidebar, use the "..." menu for:

  • Undock to floating window - Return to floating mode
  • Clear terminal - Clear the screen

Configuration

Open Settings > Claude Terminal:

SettingDescriptionDefault
Shell pathPath to shell executable/bin/zsh (macOS/Linux) or powershell.exe (Windows)
Auto-launch ClaudeRun claude command on terminal openEnabled
Font sizeTerminal font size13px

Claude Code Setup

For the best experience with Claude Code in your vault, copy the example files from the examples/ folder:

1. Create a CLAUDE.md file (recommended)

Copy examples/CLAUDE.md to your vault root. This gives Claude Code instructions for:

  • Thorough file searching (handles emoji prefixes, special characters)
  • Preserving heading structure when editing
  • Archiving instead of deleting files
  • Understanding your vault conventions
cp examples/CLAUDE.md /path/to/your/vault/CLAUDE.md

2. Configure default permissions (recommended)

Copy examples/settings.local.json to .claude/ in your vault root:

mkdir -p /path/to/your/vault/.claude
cp examples/settings.local.json /path/to/your/vault/.claude/settings.local.json

This grants Claude Code full access to your vault without permission prompts.

Development

# Watch mode (auto-rebuild on changes)
npm run dev

# Production build
npm run build

# Rebuild native modules
npm run rebuild:electron

Project Structure

claude-terminal/
├── src/
│   └── main.ts         # Plugin source code
├── manifest.json       # Obsidian plugin manifest
├── package.json        # Dependencies & scripts
├── esbuild.config.mjs  # Build configuration
├── tsconfig.json       # TypeScript config
├── styles.css          # Plugin styles
└── main.js             # Built output (generated)

Troubleshooting

"Error: Failed to start terminal"

The node-pty native module may not be compiled for your Electron version:

npm run rebuild:electron

Terminal shows garbled characters

Ensure styles.css is loaded. The plugin includes required xterm.js styles.

Claude command not found

Make sure Claude Code is installed and in your PATH:

# Check if claude is available
which claude

# If not, install it
npm install -g @anthropic-ai/claude-code

Permission prompts keep appearing

Add the specific commands to your .claude/settings.local.json permissions array, or select "Yes, and always allow" when prompted.

Credits

License

MIT License - see LICENSE for details.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.