aimux

skill
Security Audit
Fail
Health Warn
  • License — License: MIT
  • No description — Repository has no description
  • Active repo — Last push 0 days ago
  • Community trust — 11 GitHub stars
Code Fail
  • spawnSync — Synchronous process spawning in src/cli.tsx
  • process.env — Environment variable access in src/cli.tsx
  • process.env — Environment variable access in src/components/AgentsView.tsx
  • spawnSync — Synchronous process spawning in src/components/StatusView.tsx
  • process.env — Environment variable access in src/components/StatusView.tsx
  • fs module — File system access in src/core/init.test.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

README.md

aimux

npm version
npm downloads
license
node
GitHub stars

Local AI workspace orchestrator — manage multiple AI CLI subscriptions with shared knowledge and isolated authentication.

Problem

You have multiple Claude Code subscriptions (personal, work, client) each in separate ~/.claude-* directories. You maintain symlinks manually, duplicate settings, and juggle bash functions to switch between them.

Solution

aimux treats your AI CLI configs like tmux treats terminals: one shared brain, multiple isolated sessions.

  • Shared layer: agents, skills, commands, rules, memory, plugins, settings — symlinked from a single source of truth
  • Private layer: credentials, rate limits, session state — isolated per profile
  • Zero duplication: add a skill once, available everywhere

Install

npm install -g @digital-threads/aimux

Getting Started

You have ~/.claude + extra directories (~/.claude-work, etc.)

npm install -g aimux
aimux init              # auto-detects all ~/.claude* dirs
aimux status            # verify profiles, auth, symlinks
aimux run w             # launch work profile (prefix matching)

You have only ~/.claude (one subscription)

npm install -g aimux
aimux init              # creates config with main profile
aimux profile add work  # add a new profile
aimux auth login work   # OAuth for the new account
aimux profile update w -m claude-opus-4-6
aimux run w

Fresh machine (nothing installed)

# Install Claude CLI first, then:
claude auth login       # creates ~/.claude
npm install -g @digital-threads/aimux
aimux init
aimux profile add work
aimux auth login work

Day-to-day usage

aimux run               # interactive picker (↑↓ + Enter)
aimux run w             # prefix match → work
aimux run o -m claude-sonnet-4-6  # one-time model override
aimux run w --resume    # flags pass through to Claude CLI
aimux status            # dashboard

# Set default model per profile (quote model names with special chars)
aimux profile update w -m claude-opus-4-6
aimux profile update o -m "claude-opus-4-6[1m]"

Commands

Command Description
aimux init Auto-detect Claude dirs, create config, migrate profiles
aimux init --source <path> Initialize with explicit source directory
aimux status TUI dashboard — profiles, auth, symlink health
aimux run [profile] Launch AI CLI with correct env and model
aimux run Interactive picker — history pre-selects last used profile
aimux run w Prefix matching — launches work if unambiguous
aimux run work -m claude-sonnet-4-6 Launch with model override
aimux agents Multi-profile agent view — see and manage claude background sessions across all profiles in one TUI
aimux profile add <name> Create new profile with symlinks
aimux profile update <name> Update model/cli settings
aimux profile list List all profiles
aimux profile remove <name> Remove profile and clean up
aimux profile clone <src> <name> Clone profile with private files
aimux rebuild [profile] Sync symlinks and surface local shared-file conflicts
aimux doctor Health check — broken symlinks, missing shared entries, conflicts
aimux auth login <profile> Launch OAuth flow for a profile
aimux auth status Show auth file status per profile
aimux setup-shell Auto-install shell completions (bash/zsh/fish)
aimux migrate isolate One-time migration: convert per-profile jobs/, daemon/, projects/ symlinks into real private dirs so each profile gets its own supervisor and sessions. Safe — no data is deleted. Add --dry-run to preview.

All profile commands support prefix matching: aimux run wwork, aimux profile update oown.

How It Works

~/.claude/          ← source of truth (your main profile)
  agents/
  skills/
  commands/
  memory/
  settings.json
  .credentials.json  ← private, stays here

~/.aimux/
  config.yaml        ← aimux config
  profiles/
    work/
      agents/ → ~/.claude/agents      ← symlink (shared)
      skills/ → ~/.claude/skills      ← symlink (shared)
      memory/ → ~/.claude/memory      ← symlink (shared)
      .credentials.json               ← real file (private)
      .claude.json                    ← real file (private)
    own/
      ...same pattern...

When you run aimux run work, it sets CLAUDE_CONFIG_DIR=~/.aimux/profiles/work and launches the CLI. Claude sees a complete config directory — shared content via symlinks, private auth locally.

Config

# ~/.aimux/config.yaml
version: 1
shared_source: /home/user/.claude

profiles:
  main:
    cli: claude
    path: /home/user/.claude
    is_source: true
  work:
    cli: claude
    model: claude-opus-4-6
    path: /home/user/.aimux/profiles/work
  own:
    cli: claude
    model: claude-opus-4-6
    path: /home/user/.aimux/profiles/own

private:
  - .credentials.json
  - .claude.json
  - policy-limits.json
  - mcp-needs-auth-cache.json
  - remote-settings.json
  - settings.local.json
  - stats-cache.json
  - statsig
  - telemetry

Requirements

  • Node.js 22+
  • Claude Code CLI installed

License

MIT

Reviews (0)

No results found