A truly step-by-step guide. Follow along and you'll have a working PM agent in 10 minutes.
| Platform | Status | Notes |
|---|---|---|
| macOS | β Fully supported | Native launchd daemon |
| Linux | systemd support coming soon | |
| Windows | Native Windows not supported. Use WSL2 Ubuntu. |
Windows users: Install WSL2 first, then follow the "Linux/WSL" instructions below. In PowerShell (admin):
wsl --install, then reboot.
heysquid needs three things: Homebrew (macOS only), Node.js, and Python.
Already have them? Run the "Check" command for each β if it prints a version, skip to the next.
A package manager for macOS. Makes installing everything else easy.
Check:
brew --versionInstall (if missing):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"After install, follow the "Next steps" printed in your terminal. Usually:
echo >> ~/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"No Homebrew? You can install Node.js and Python directly from their websites instead:
- Node.js: nodejs.org β download the
.pkginstaller- Python: python.org β download the
.pkginstaller
Claude Code CLI is built on Node.js.
Check:
node --version # Should be v18.x or higher
npm --version # Installed alongside Node.jsInstall (if missing):
macOS:
brew install nodeLinux/WSL:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejsAlready using nvm?
nvm install 20 && nvm use 20works too.
heysquid is written in Python.
Check:
python3 --version # Should be 3.10 or higherInstall (if missing):
macOS:
brew install python@3.12Linux/WSL:
sudo apt update
sudo apt install -y python3 python3-pip python3-venvmacOS comes with a system Python, but it may be too old. If
python3 --versionshows 3.9 or lower, install a newer version with brew.
This is the brain. All AI work runs through Claude Code.
npm install -g @anthropic-ai/claude-codeCheck:
claude --versionTroubleshooting:
npm: command not foundβ Go back to Step 0-2 and install Node.js first.
EACCES: permission deniedβ Fix with one of these:# Option A: Use sudo sudo npm install -g @anthropic-ai/claude-code # Option B: Fix npm permissions (permanent fix) mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc source ~/.zshrc npm install -g @anthropic-ai/claude-code
The CLI itself is free, but you need an Anthropic account with a subscription to use it.
| Plan | Price | For heysquid |
|---|---|---|
| Claude Pro | $20/mo | Works, but has daily usage limits |
| Claude Max | $100/mo | Recommended β unlimited, always-on |
On first run, claude will open a browser window for login.
pip3 install heysquidCheck:
heysquid --helpTroubleshooting:
heysquid: command not foundβ pip installed it somewhere not in your PATH. Three fixes:Fix 1 β Add pip's bin directory to PATH:
# macOS echo 'export PATH="$HOME/Library/Python/3.12/bin:$PATH"' >> ~/.zshrc source ~/.zshrc # Linux/WSL echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrcFix 2 β Run directly via Python:
python3 -m heysquid.core.cli --helpFix 3 β Use pipx (handles PATH automatically):
pip3 install pipx pipx install heysquid
Optional extras:
pip3 install 'heysquid[all]' # Telegram + Slack + Discord + TUI
pip3 install 'heysquid[slack]' # Just Slack
pip3 install 'heysquid[tui]' # Just the terminal UIThis takes about 3 minutes. You'll create a bot and get two values: a token and your user ID.
- Open Telegram and search for @BotFather
- Send
/newbot - Choose a name (e.g., "My SQUID")
- Choose a username (must end in
_bot, e.g.,my_squid_bot) - BotFather gives you a token. Copy it.
Use this token to access the HTTP API:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz
- In Telegram, search for @userinfobot
- Send any message
- Copy the user ID number
Your user ID: 987654321
Keep both values β you'll need them in the next step.
heysquid initThe interactive wizard asks for your tokens:
π¦ heysquid setup
Telegram bot token: [paste your token from Step 3-1]
Telegram user ID: [paste your user ID from Step 3-2]
Slack token (Enter to skip): [press Enter]
Discord token (Enter to skip): [press Enter]
β
Setup complete!
This creates:
data/.envβ Your tokens (never committed to git)data/identity.jsonβ Bot identitydata/permanent_memory.mdβ Long-term memory- Directories:
tasks/,workspaces/,logs/
heysquid startβ
Watcher daemon started
β
Scheduler daemon started
Verify:
heysquid statusOpen Telegram and send a message to your bot:
Hello!
SQUID should respond within 10 seconds. You now have a personal PM agent. π
Everything comes back to Telegram β no extra setup needed.
When you give SQUID a task, all of this flows to your Telegram automatically:
- The plan (before anything runs)
- Your confirmation prompt
- Progress updates while agents are working
- The final report when done
Here's what a real session looks like:
You β
Research what makes a good landing page. Give me 5 actionable points.
SQUID β (within ~10 seconds)
π¦ Got it. Here's my plan:
1. π Researcher searches for landing page best practices
2. π¦ Writer synthesizes into 5 actionable points
Shall I proceed?
You β
Yes
SQUID β (progress update, sent automatically)
π Researcher is on it...
SQUID β (final report)
β
Done! Here are 5 actionable landing page principles:
1. Hero headline must state the value in one sentence...
2. Single CTA above the fold...
[...]
(Researcher finished in 45s. Writer synthesized in 20s.)
Every status update comes to Telegram β you don't need to watch logs in a terminal. But if you want to see the raw stream:
heysquid logs -f # Follow execution logs in real-time
heysquid tui # Full terminal UI (Chat + Kanban + Squad + Log)The TUI's Ctrl+4 Log screen shows the same stream as logs -f, and Ctrl+3 Squad screen shows the agent team's internal discussion.
Tab navigation: Use
Ctrl+1~5to jump to a specific screen, orShift+Tabto cycle through tabs one by one. IfCtrl+numberdoesn't work in your terminal,Shift+Tabis the fallback.
"What can you do?"
"Write 3 tweet-length posts about productivity for solopreneurs"
"Research the top 5 open-source PM tools and compare them"
"fanmolt create TechDigest AI/tech news creator"
Tip: SQUID always plans before executing and asks for your OK. If the plan looks wrong, just say "no" or describe what you want instead β SQUID will revise.
heysquid start # Start (run once after boot)
heysquid status # Check what's running
heysquid logs -f # Watch live logs
heysquid tui # Terminal UI with kanban board
heysquid stop # Stop all daemons
heysquid restart # Stop + Startheysquid runs as a daemon β closing your terminal doesn't stop it.
After a Mac reboot, just run heysquid start again.
pip installed the binary somewhere not in your PATH. See Step 2 troubleshooting.
Quick check:
python3 -c "import heysquid; print('OK')" # Is the package installed?
python3 -m heysquid.core.cli status # Run directlyNode.js or Claude Code CLI not installed:
node --version # Node.js installed?
npm list -g @anthropic-ai/claude-code # Claude Code installed?If missing, go back to Step 0-2 and Step 1.
Homebrew not installed. See Step 0-1, or install Node.js/Python directly from their websites.
npm global install permission issue:
sudo npm install -g @anthropic-ai/claude-codeOr for pip:
pip3 install --user heysquid- Check daemon:
heysquid status - Check logs:
heysquid logs -f - Verify token in
data/.env - Verify your user ID is in
TELEGRAM_ALLOWED_USERS - Check Claude login: run
claudein terminal
The telegram dependency didn't install properly:
pip3 install --force-reinstall heysquidheysquid uses macOS launchd, so it doesn't run natively on Windows.
Use WSL2:
- PowerShell (admin):
wsl --install - Reboot
- Open the Ubuntu terminal
- Follow the "Linux/WSL" install commands in this guide
- Run
heysquid startinside WSL
Native Linux (systemd) support is planned.
- FanMolt Guide β Create AI content creators that auto-post and earn revenue
- Plugin Guide β Build your own skills and automations
- Contributing β Help improve heysquid