New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

loom-code

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

loom-code

Loom Code — AI-powered coding agent for the terminal. Multi-provider support including NVIDIA. OpenTUI interface.

latest
npmnpm
Version
1.1.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Loom Code

An AI-powered coding agent for the terminal — a Claude Code / OpenCode clone with multi-provider support and a full terminal UI.

Features

  • Full OpenTUI interface with slash commands, autocomplete, and ESC-to-interrupt
  • Build / Plan / Chat modes (Claude-level agent tooling)
  • LOOM.md project memory file (like CLAUDE.md)
  • Multi-provider: Anthropic, OpenAI, NVIDIA, Google Gemini, OpenRouter, Local (Ollama)
  • Built-in tools: read, write, edit, bash, grep, glob, webfetch, todowrite
  • Agentic tool loop (multiple tool calls per turn, up to 50 iterations)
  • MCP (Model Context Protocol) server integration
  • Drag-to-copy selections, paste support
  • Companion pet (OpenPets)
  • Session memory, /undo, /redo, /compact, /reset, /fork
  • One-shot print mode: loom -p "query"
  • Usage & billing tracking per session + lifetime

Prerequisites

  • bun >= 1.0 (required for the full TUI). Without bun, only the line-mode REPL runs.
  • Node.js >= 18 (for non-TUI mode and package scripts)
  • An API key from at least one provider:
ProviderSign-upKey type
Anthropicconsole.anthropic.comClaude API key
OpenAIplatform.openai.comAPI key
NVIDIAbuild.nvidia.comNIM API key (free tier available)
Googleaistudio.google.comGemini API key (free tier available)
OpenRouteropenrouter.aiOpenRouter API key
LocalInstall OllamaNo key needed (runs locally)

Installation

git clone https://github.com/anomalyco/loomcode
cd LoomCode
npm install

Optional global install:

npm install -g .
# or
npm link

Setup

  • Install bun (for the full TUI):

    # macOS / Linux
    curl -fsSL https://bun.sh/install | bash
    
    # Windows
    powershell -c "irm bun.sh/install.ps1 | iex"
    
  • Configure API keys — pick one method:

    # a) Environment variables (.env)
    cp .env.example .env
    # Edit .env with your key:
    # ANTHROPIC_API_KEY=sk-ant-...
    # NVIDIA_API_KEY=nvapi-...
    # OPENAI_API_KEY=sk-...
    
    # b) Interactive setup in the TUI
    loom
    > /connect nvidia
    
  • Initialize project memory (optional):

    loom
    > /init
    

    Creates LOOM.md with a project-specific template.

Usage

loom                              # interactive TUI session
loom "explain this project"       # start with initial prompt
loom -p "list files in src/"      # one-shot, print result, exit
cat logs.txt | loom -p "explain"  # analyze piped content
loom --version
loom --help
loom --basic                      # skip TUI, use line-mode REPL

Slash Commands (34 total)

CommandArgsDescription
/help—Show all commands
/build—Build mode — all tools
/plan—Plan mode — read-only analysis
/chat—Chat mode — no tools
/connect[provider]Add/connect a provider
/key—Edit API key for current provider
/baseurl[provider] [url]Set provider base URL
/model[model-id]Pick active model
/models—List available models
/providers—List supported providers
/status—Show connection status
/usage—Show token usage and billing
/new—Start a new session
/clear—Clear the chat
/compact—Compact conversation
/undo—Undo last exchange
/redo—Redo last undone exchange
/reset—Reset the session
/settings—Toggle details/sidebar/etc.
/sessions—Browse saved sessions
/share—Export current session to JSON
/export—Export to markdown
/thinking—Toggle thinking visibility
/details—Toggle tool detail visibility
/init—Create LOOM.md
/memory—Show memory files
/doctor—Run diagnostics
/skillsinstall|removeManage skills
/mcpadd|remove|toggleManage MCP servers
/debug—Show debug info
/fork—Fork conversation
/companion—Change companion pet
/exit—Quit Loom Code

Keybindings

KeyAction
ESCInterrupt current operation (aborts API requests)
Ctrl+CExit
Ctrl+BToggle sidebar (file browser)
Ctrl+POpen command palette
TabCycle mode (Build → Plan → Chat)
bLeader — build mode
pLeader — plan mode

Troubleshooting

"bun not found — full TUI requires bun"

Install bun from bun.sh. If bun is already installed but not found, add ~/.bun/bin to your PATH.

"API key is invalid or expired"

Run /connect <provider> in the TUI and paste a new key. For environment variables, check your .env file.

"403 Forbidden: the API key is not authorized"

Your key doesn't have access to the selected model. Some providers (especially NVIDIA NIM and OpenRouter) require accepting model terms on their website first.

"402 quota exceeded"

Your API billing tier or rate limit has been reached. Upgrade your plan or switch to a different provider.

TUI is slow or flickering

Try launching with --basic to use the line-mode REPL instead, which is lighter.

Project Structure

LoomCode/
├── bin/
│   ├── loom.js              # CLI entry point
│   ├── loomcode.js          # Alternative binary name
│   └── loom-tui.js          # TUI launcher
├── src/
│   ├── index.js             # Bootstraps CLI
│   ├── core/
│   │   ├── cli.js           # Interactive REPL + slash commands
│   │   ├── session.js       # Conversation + agent tool loop
│   │   ├── permissions.js   # Command permission checks
│   │   ├── platform.js      # OS/platform detection
│   │   ├── session-store.js # Persisted sessions
│   │   ├── usage.js         # Token/cost tracking
│   │   └── plugin-cmd.js    # Subcommand backend
│   ├── providers/
│   │   ├── index.js         # ProviderRouter dispatch
│   │   ├── openai-compat.js # OpenAI-compatible provider base
│   │   ├── anthropic.js     # Anthropic Claude connector
│   │   ├── openai.js        # OpenAI GPT connector
│   │   ├── nvidia.js        # NVIDIA NIM connector
│   │   ├── google.js        # Google Gemini connector
│   │   ├── openrouter.js    # OpenRouter connector
│   │   ├── local.js         # Local (Ollama) connector
│   │   └── custom.js        # Custom provider host
│   ├── tools/
│   │   └── index.js         # read/write/edit/bash/grep/glob/webfetch
│   ├── config/
│   │   ├── settings.js      # ~/.loom/config.json persistence
│   │   └── provider-cmd.js  # /connect command logic
│   └── tui/
│       ├── App.tsx           # OpenTUI root component
│       ├── store.ts          # SolidJS reactive store
│       ├── theme.ts          # Theme / palette
│       ├── components/
│       │   ├── InputBar.tsx  # Chat input + autocomplete
│       │   ├── ChatArea.tsx  # Message list
│       │   ├── BreadcrumbBar.tsx  # Mode + provider bar
│       │   ├── Modals.tsx    # Settings pickers
│       │   ├── Sidebar.tsx   # File sidebar
│       │   └── Companion.tsx # Pet display
│       └── companion/
│           └── openpets.ts   # OpenPets tts integration
├── package.json
├── LOOM.md                    # Developer reference
└── .gitignore

Configuration

Config is stored at ~/.loom/config.json (permissions: 0600). Includes:

  • provider — default LLM provider
  • model — per-provider model IDs (editable in source or via /model)
  • apiKeys — API keys from /connect or manual edit
  • baseUrls — custom provider endpoints
  • maxTokens, temperature — model settings

API keys can also be set via environment variables: .env or ANTHROPIC_API_KEY, OPENAI_API_KEY, NVIDIA_API_KEY, GOOGLE_API_KEY, OPENROUTER_API_KEY etc.

Adding a New Provider

Register in src/providers/<name>.js exporting { chat, stream, models }:

async function chat(messages, options) {
  // call API, return { content: '...', toolCalls: [{...}], usage: {{...}} }
}
async function stream(messages, options, onDelta) {
  // stream response, return { content, toolCalls, usage }
}
const models = [
  { id: 'my-model', name: 'My Model', provider: 'myname', context: 128000, priceIn: 0.50, priceOut: 2.00 }
];
module.exports = { chat, stream, models };

Then add it in src/providers/index.js under PROVIDERS.

License

MIT

Keywords

ai

FAQs

Package last updated on 06 Aug 2026

Related posts