TermMate
agentic AI coding assistant integrating claude code, OpenAI codex and Pi coding agent
Details
Installs
- Total 153
- Win 62
- Mac 58
- Linux 33
| Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | Jun 22 | Jun 21 | Jun 20 | Jun 19 | Jun 18 | Jun 17 | Jun 16 | Jun 15 | Jun 14 | Jun 13 | Jun 12 | Jun 11 | Jun 10 | Jun 9 | Jun 8 | Jun 7 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 4 | 0 | 1 | 1 | 1 | 2 | 6 | 3 | 2 | 1 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 2 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 1 |
| Mac | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 3 | 1 | 3 | 0 | 1 | 4 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 3 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 0 |
| Linux | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 2 | 0 | 1 | 1 | 1 | 0 | 0 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
TermMate
Agentic Coding Mate from Mind to Code

TermMate is a professional AI coding agent for Sublime Text that supports multi-agent providers, including Claude Code, Codex, and Pi Agent. It builds a seamless native agentic interface directly within your editor for autonomous task execution, codebase exploration, and smart refactoring. TermMate Agent, native to your editor.
See TermMate agentic coding features — live demo here →
For detailed usage, please refer to the Setup TermMate Documentation.
Getting Started
1. TermMate Installation
Install TermMate via Package Control:
- Open the Command Palette (
Cmd+Shift+Pon macOS,Ctrl+Shift+Pon Windows/Linux). - Type
Package Control: Install Packageand pressEnter. - Search for
TermMateand pressEnter.
You can also install manually from github releases:
- Download
TermMate.sublime-packagefrom the latest release. - Copy
TermMate.sublime-packageinto your Sublime Text Installed Packages directory:- macOS:
~/Library/Application Support/Sublime Text/Installed Packages/ - Windows:
%APPDATA%\Sublime Text\Installed Packages\ - Linux:
~/.config/sublime-text/Installed Packages/
- macOS:
- Restart Sublime Text.
2. Install an Agent CLI
TermMate relies on external agent CLIs. If you already have Claude Code, Codex, or Pi Agent installed, TermMate will detect them automatically — no extra setup needed.
Otherwise, the easiest way is to install directly from within Sublime Text: open the Command Palette, type TermMate: Install Agent, and select the agent you want. TermMate will run the installation in dedicated panel and notify you when it's complete. CLIs are installed to ~/.local/bin on macOS/Linux and %APPDATA%\npm on Windows.
or install manually from your terminal:
Claude Code:
curl -fsSL https://claude.ai/install.sh | bash
Codex:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
Pi Agent:
curl -fsSL https://pi.dev/install.sh | sh
Note: TermMate automatically detects CLI installation paths across multiple environments, including Homebrew, npm-global, Yarn, and common local binary directories. You typically don't need to manually configure environment variables or search paths.
3. Authentication
Authenticate the agents via your terminal, or skip the CLI login by setting API keys directly in TermMate's settings — see Custom Environment Variables.
Claude Code:
/login
Codex:
codex login
Pi Agent:
/login
Alternatively, you can use env settings to skip the CLI login. Open the settings file via Preferences → Package Settings → TermMate → Settings and add env:
{
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
The example above sets GEMINI_API_KEY for Pi Agent authentication.
4. Start Chat
- Open the command palette (
Cmd+Shift+Pon macOS,Ctrl+Shift+Pon Windows/Linux). - Type
TermMate: Start Chatand pressEnter. - A new view will open for the TermMate chat.
- Type your message and press
Cmd+Enter(macOS) orCtrl+Enter(Windows/Linux) to send. - You can stop a running conversation at any time. Use the shortcut
Cmd+Escape(Mac) /Shift+Escape(Windows/Linux) in the chat window, or runTermMate: Stop Conversationfrom the command palette.
Usage & Key Features
1. Quick Prompt Without Chat View
Use the command palette (TermMate: Prompt) to send a quick instruction to the agent without opening the chat view manually.
2. Set Working Directory
Right-click on any folder in the sidebar and select Set Working Directory to set the working directory for the agent. This affects the current working directory when agents execute commands or access files. You can also use the command palette.
3. Chat with Current File or Selection
Right-click on open file or text selection and use TermMate: Chat with Agent can add it as context for your next prompt. This will:
- Open the TermMate chat view (if not already open).
- Insert a reference to the file (
@filename) or selected line range (@filename#L1-10) into the message prompt. - Tagged files will be automatically sent as context to the active agent.
4. File Tags @ Smart Completion
Tag files in your prompt to give the agent precise project context. Typing @ in the chat input instantly opens a completion popup with three categories of suggestions:
- 📂 Open files — files currently open in the window
- 📄 Workspace files — files in the workspace root
- 📁 Subdirectories — inserted with a trailing
/to reference a whole directory
A tag can point at a file (@src/main.py), a line or range (@src/main.py#L42, @src/main.py#L10-25), or a directory (@src/). Tagged files are sent to the agent as context along with your message. Chat with Agent and the sidebar context menu can also insert tags for you.
5. Split Chat Window
You can use the command palette (TermMate: Split Chat Window) or right-click the chat view tab and select TermMate: Split Chat Window to split the editor layout and place the chat view into its own dedicated pane. By default, this pane is isolated so opening other files will not overwrite the chat view. This isolation behavior can be configured via the dedicated_chat_pane setting.
Advanced Control
Plan Mode
Switch between two execution styles from the Command Palette: TermMate: Plan Mode
| Mode | Behavior |
|---|---|
| Fast (default) | Agent acts immediately — no intermediate steps shown. |
| Planning | Agent outlines a step-by-step plan before doing anything. Useful for large or risky changes. |
Approve Mode
Control how much the agent can do without asking you first: TermMate: Approve Mode
| Mode | Behavior |
|---|---|
| Default | Prompts you before every tool action. |
| Allow Edit | Auto-approves safe read/edit operations; still prompts for shell commands. |
| Accept All | Auto-approves everything, including shell execution. Maximum autonomy. |
Switch Agent
Use TermMate: Switch Agent to swap between Claude, Codex, and Pi Agent at any time.
Select Model
Use TermMate: Select Model to pick a specific LLM model per agent (e.g. claude-opus-4-5 vs claude-sonnet-4-5).
Session Management: Clear, Resume & Rewind
1. Clear Session
To reset the current conversation history and start a completely fresh context, open the command palette and run TermMate: Clear Session. This will reload the agent and clear its memory for the current workspace.
2. Resume Previous Conversation
Run TermMate: Resume Session from the command palette to continue a past conversation. A quick panel lists previous sessions for the current workspace, each showing a short summary and timestamp. Select one and the agent picks up exactly where it left off.
3. Rewind Conversation
Hover over any gutter dot or click the ↩ button that appears at the prompt line to rewind the conversation to that point. A confirmation panel lets you confirm or cancel before the rewind takes effect.
When confirmed, TermMate forks the session at the selected prompt, removes all subsequent messages from the chat view - letting you explore a different direction without losing the original context.
Shortcuts & Commands
| Action | macOS | Windows/Linux | Command Palette |
|---|---|---|---|
| Install Agent | - | - | TermMate: Install Agent |
| Start New Chat | - | - | TermMate: Start Chat |
| Split Chat Window | - | - | TermMate: Split Chat Window |
| Send Message | Cmd+Enter |
Ctrl+Enter |
- |
| Stop Conversation | Cmd+Escape |
Shift+Escape |
TermMate: Stop Conversation |
| Navigate Input History | Up / Down |
Up / Down |
- |
| Mention File | @ |
@ |
- |
| Set Workspace | - | - | TermMate: Set Working Directory |
| Plan Mode | - | - | TermMate: Plan Mode |
| Approve Mode | - | - | TermMate: Approve Mode |
Configuration
Customize TermMate by editing your settings: Preferences -> Package Settings -> TermMate -> Settings
Agent CLI Paths
While TermMate automatically detects most agent CLI installation paths, you may need to configure them manually if:
- You use a custom installation location not listed in the default paths.
- You have multiple versions installed and want to pin a specific binary.
- Automatic detection fails on your specific OS configuration.
{
"claude_command": "/path/to/your/custom/claude",
"codex_command": "/path/to/your/custom/codex",
"pi_command": "/path/to/your/custom/pi"
}
Custom Environment Variables
The env configuration allows you to inject custom environment variables directly into the process when starting an agent CLI command. This is useful for providing API keys, custom base URLs, or passing specific environment values without altering your global system configuration.
Example: OpenRouter for Claude
Set a custom base URL and auth token so Claude routes through OpenRouter (ANTHROPIC_API_KEY must be empty in this case):
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api/v1",
"ANTHROPIC_AUTH_TOKEN": "sk-openrouter-token",
"ANTHROPIC_API_KEY": ""
}
}
Example: Gemini API key for Pi Agent
Pi Agent uses the GEMINI_API_KEY environment variable. Set it here to authenticate without modifying your system environment:
{
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
Custom Keybindings
By default, TermMate does not register a shortcut for TermMate: Start Chat to avoid conflicts. You can manually add a shortcut (Cmd+Option+G on macOS, Ctrl+Alt+G on Windows/Linux) by navigating to Preferences -> Key Bindings and adding the following configuration:
[
{
"keys": ["primary+alt+g"],
"command": "term_chat_cli",
"args": {},
"context":
[
{ "key": "setting.is_widget", "operand": false }
]
}
]
If you prefer using just the Escape key to interrupt the conversation when the chat view is focused, you can add this:
[
{
"keys": ["escape"],
"command": "term_chat_interrupt",
"context":
[
{ "key": "setting.chatview_chat", "operator": "equal", "operand": true }
]
}
]
💡 TermMate Agent Tips
- Selection as Context: Select code before starting a chat to focus the agent's attention on specific logic.
- Iterative Refinement: Use Planning Mode for large architectural changes to see the agent's proposed steps before they are applied.
- Reviewing Changes with GitSavvy: Use GitSavvy's
git: diffcommand to review file diffs after the agent makes edits — the inline diff view makes it easy to inspect, stage, or discard individual hunks.
Privacy & Data Handling
TermMate does not send your entire workspace or file contents to any external servers.
Your data will only be sent to the respective LLM services (Claude Code, Codex, or Pi) under the following specific conditions:
What data is sent:
- Any text you manually type into the TermMate ChatView.
- The contents of specific files you explicitly tag using the
@filenamesyntax. - The outputs of shell commands, directory listings, or file contents that the agent explicitly requests to read.
How TermMate interacts with Agents:
- Local Execution: The core plugin logic runs entirely on your local machine. All communication happens locally via the official CLI tools (
claude,codex, orpi) installed on your system. - No Data Collection: TermMate does not collect, store, or transmit any of your source code or usage telemetry to our servers. TermMate does not send data to any third-party middleman servers; data goes directly to Anthropic or OpenAI using your own configured authentication credentials.
- Data is only sent when you actively hit command+enter(or ctrl+enter) in the ChatView, or when the agent executes a tool (if you have granted permission via your
Approve Modesettings).
License
TermMate is provided under the Apache License, Version 2.0 with the Commons Clause condition.
This means it's free to use, modify, and redistribute the code for personal or internal use. However, commercial resale or providing a paid service is strictly prohibited.
For complete details, please see the LICENSE file.