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).

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-official

This registers the LangMart plugin marketplace as a source for plugins.

Step 2: Install lm-assist

/plugin install lm-assist

This installs the lm-assist plugin, which automatically:

  • Installs the lm-assist npm package globally
  • Starts the Core API and Web UI services
  • Registers the MCP server with search, detail, feedback tools
  • Installs the context injection hook
  • Adds all /assist-* slash commands and skills

Step 3: Verify

/assist-status

That'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 start

Then in Claude Code:

/assist-setup

The /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 start

Then in Claude Code:

/assist-setup

What 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.md

Plugins 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-status

This 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=3848

Starting & 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 logs

Or with core.sh (from source install):

./core.sh start
./core.sh stop
./core.sh restart
./core.sh status

Slash 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

  1. Log in to langmart.ai
  2. Go to Settings > API Keys
  3. 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_KEY

Or configure manually by setting environment variables:

TIER_AGENT_HUB_URL=wss://api.langmart.ai
TIER_AGENT_API_KEY=sk-your-key-here

Step 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/*.md

lm-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 restart

Uninstalling

# Stop services
lm-assist stop

# Remove npm package
npm uninstall -g lm-assist

# Remove data (optional)
rm -rf ~/.lm-assist

The 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