Installing lm-assist
lm-assist is a Claude Code plugin distributed through the Claude Code marketplace. Installation uses the /plugin command inside Claude Code, which handles everything automatically -- MCP server, context hooks, slash commands, and skills.
System Requirements
- Node.js >= 18
- Claude Code (required -- lm-assist is a Claude Code plugin)
- Platforms: Full support on Linux and macOS. Windows has partial support (no web terminal access).
Method 1: Marketplace Install (Recommended)
The recommended way to install lm-assist is through the Claude Code plugin marketplace:
Step 1: Add the LangMart Marketplace
In Claude Code, run:
/plugin add-marketplace langmartai/claude-plugins-officialThis registers the LangMart plugin marketplace as a source for plugins.
Step 2: Install lm-assist
/plugin install lm-assistThis installs the lm-assist plugin, which automatically:
- Installs the
lm-assistnpm package globally - Starts the Core API and Web UI services
- Registers the MCP server with
search,detail,feedbacktools - Installs the context injection hook
- Adds all
/assist-*slash commands and skills
Step 3: Verify
/assist-statusThat's it. The plugin handles all setup automatically.
Method 2: npm Install (Manual)
If you prefer manual installation:
npm install -g lm-assist
lm-assist startThen in Claude Code:
/assist-setupThe /assist-setup command registers the MCP server, hooks, and slash commands that the marketplace plugin would have installed automatically.
Method 3: From Source
git clone https://github.com/langmartai/lm-assist.git
cd lm-assist
npm install && npm run build
./core.sh startThen in Claude Code:
/assist-setupWhat Gets Installed
The plugin (or /assist-setup) registers these components in Claude Code:
| Component | Auto-installed | Purpose |
|---|---|---|
| MCP Server | Yes | Registers search, detail, feedback tools |
| Context Hook | Yes | Fires on every prompt, injects relevant knowledge |
| Slash Commands | Yes | 6 /assist-* commands for management |
| Skills | Yes | assist, assist-setup, assist-status, etc. |
| Statusline | Optional | Git branch, context %, process stats in status bar |
Plugin Structure
lm-assist follows the Claude Code plugin architecture:
lm-assist/
.claude-plugin/
plugin.json # Plugin metadata
.mcp.json # MCP server configuration
commands/
assist.md # /assist slash command
assist-setup.md # /assist-setup slash command
assist-status.md # /assist-status slash command
assist-search.md # /assist-search slash command
assist-logs.md # /assist-logs slash command
assist-mcp-logs.md # /assist-mcp-logs slash command
skills/
assist/SKILL.md # Core assist skill
assist-setup/SKILL.md
assist-status/SKILL.md
assist-search/SKILL.md
assist-logs/SKILL.md
assist-mcp-logs/SKILL.mdPlugins are installed to ~/.claude/plugins/ and discovered automatically by Claude Code on startup.
Verifying Installation
Run /assist-status in Claude Code to check all components:
/assist-statusThis shows the status of:
- Core API (port 3100)
- Web UI (port 3848)
- MCP Server registration
- Context injection hook
- Hub connection (if configured)
Services & Ports
| Service | Default Port | Purpose |
|---|---|---|
| Core API | 3100 | REST API, knowledge index, vector search |
| Web UI | 3848 | Next.js dashboard |
| Web Terminals | 5900+ | One port per active terminal session |
Ports are configurable via environment variables:
export API_PORT=3100
export WEB_PORT=3848Starting & Stopping
# Start all services
lm-assist start
# Stop all services
lm-assist stop
# Restart
lm-assist restart
# Check status
lm-assist status
# View logs
lm-assist logsOr with core.sh (from source install):
./core.sh start
./core.sh stop
./core.sh restart
./core.sh statusSlash Commands
After installation, these commands are available in Claude Code:
| Command | Description |
|---|---|
/assist |
Open the web UI in your browser |
/assist-status |
Show status of all components |
/assist-setup |
Install and verify all integrations |
/assist-search <query> |
Search the knowledge base |
/assist-logs |
View context injection hook logs |
/assist-mcp-logs |
View MCP tool call logs |
Connecting to LangMart (Cloud Mode)
By default, lm-assist runs locally and is accessible at http://localhost:3848. To access your dashboard from anywhere:
Step 1: Get a LangMart API Key
- Log in to langmart.ai
- Go to Settings > API Keys
- Create a new API key
Or use the setup page at langmart.ai/assist which guides you through the process.
Step 2: Connect Your Instance
lm-assist setup --key YOUR_LANGMART_API_KEYOr configure manually by setting environment variables:
TIER_AGENT_HUB_URL=wss://api.langmart.ai
TIER_AGENT_API_KEY=sk-your-key-hereStep 3: Verify
Run /assist-status in Claude Code. You should see "Hub: connected" in the output.
What Cloud Mode Enables
| Feature | Local Mode | Cloud Mode |
|---|---|---|
| Dashboard access | localhost only | Anywhere via langmart.ai |
| Authentication | None needed | API key required |
| Data storage | Stays on machine | Stays on machine (relayed, not stored) |
| Remote terminals | Same network only | Any browser, anywhere |
| Multi-machine knowledge | No | Yes, across all connected machines |
Data Storage
lm-assist reads Claude Code session files (read-only) and stores its own data separately:
Claude Code sessions (read-only):
~/.claude/projects/<project>/sessions/*.jsonl
~/.claude/tasks/<session>/*.json
~/.claude/teams/*.json
~/.claude/plans/*.mdlm-assist data (independent):
~/.lm-assist/logs/context-inject-hook.log
~/.lm-assist/logs/mcp-calls.jsonl
~/.lm-assist/hub.json
~/.lm-assist/knowledge/Upgrading
# npm global install
npm update -g lm-assist
# From source
cd lm-assist && git pull && npm install && npm run build
lm-assist restartUninstalling
# Stop services
lm-assist stop
# Remove npm package
npm uninstall -g lm-assist
# Remove data (optional)
rm -rf ~/.lm-assistThe MCP server and hooks are automatically removed when the package is uninstalled.
Troubleshooting
| Issue | Solution |
|---|---|
| Port 3100 in use | Set API_PORT=3101 before starting |
| Port 3848 in use | Set WEB_PORT=3849 before starting |
| MCP tools not showing | Run /assist-setup to re-register |
| Context hook not firing | Check /assist-logs for errors |
| Hub connection failing | Verify API key with /assist-status |
| Web terminal not working | Linux/macOS only; requires ttyd |