A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Connect n8n to Claude Code via SSH for powerful automation workflows
Connect n8n to Claude Code (or other AI terminal tools) via SSH for powerful automation workflows.
Video: n8n + Claude Code is OVERPOWERED
You'll need three things:
You can install Claude Code on:
| Location | Pros | Cons |
|---|---|---|
| Same VPS as n8n | Simple setup, same machine | Resource sharing |
| Dedicated Ubuntu server | Best performance, local file access | Additional infrastructure |
| Raspberry Pi | Low cost, always on | Limited resources |
| Hostinger VPS | Cloud-based, easy setup | Monthly cost |
┌─────────────┐ SSH ┌──────────────────┐
│ n8n │ ───────────────────► │ Linux Server │
│ (workflow) │ │ (Claude Code) │
└─────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Your Files │
│ Your Skills │
│ Your Context │
└──────────────────┘
The magic? SSH. That's it. n8n uses the SSH node to remotely execute Claude Code commands on your server.
On your Linux server (Ubuntu example):
# Install Node.js (if not installed)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install Claude Code globally
npm install -g @anthropic-ai/claude-code
# Verify installation
claude --version
# Authenticate (follow prompts)
claude auth
| Field | Value |
|---|---|
| Host | Your server IP (e.g., 10.77.14.30 or public IP) |
| Port | 22 (default SSH) |
| Username | Your SSH username |
| Authentication | Password or Private Key |
| Password/Key | Your credentials |
First, test with a basic command:
hostname
If that works, test Claude Code:
claude --version
You should see the Claude Code version in the output.
Use the -p (print) flag for headless mode - send a prompt and get a response:
SSH Node Command:
claude -p "Why do pugs look so weird?"
The -p flag puts Claude in "print mode" - it processes your prompt and returns the result without interactive input.
Give Claude access to your project files by changing directory first:
SSH Node Command:
cd /path/to/your/project && claude -p "Is this video going to be any good?"
Claude will read files in that directory to inform its response. This is the power - context from your local files.
Put Claude in "dangerous mode" to enable tool use and agent deployment:
SSH Node Command:
claude --dangerously-skip-permissions -p "Use your unifi skill to check wifi status, network performance, and security. Deploy three agents, one for each task. Keep response under 2000 characters."
This enables Claude to:
The real power comes from maintaining conversations across multiple n8n executions.
Add a Code node before your SSH node to generate a UUID:
Code Node (JavaScript):
const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
const r = Math.random() * 16 | 0;
const v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
return [{ json: { sessionId: uuid } }];
SSH Node Command:
claude -p "How many access points are up right now?" --session-id {{ $json.sessionId }}
To continue a conversation, use the -r (resume) flag with the same session ID:
SSH Node Command (Follow-up):
claude -r --session-id {{ $('Code').item.json.sessionId }} -p "Why is one of them down?"
The -r flag resumes the previous session, so Claude remembers the context of your earlier questions.
Create a workflow that lets you chat with Claude Code from your phone via Slack:
[Slack Trigger] → [Code: Generate UUID] → [SSH: Initial Claude Command]
↓
[Slack: Send Response]
↓
[Slack: Ask Continue?]
↓
[If Node]
/ \
[False] [True]
↓ ↓
[Loop: SSH Resume] [End Workflow]
↓
[Slack: Response]
↓
[Back to Ask Continue]
--session-id-r --session-id for follow-ups@bot deploy two agents to battle it out: which is better, nano or neovim?
Research, contrast, compare, give me a solid answer. Keep response under 2000 characters.
@bot use your NAS skill to check how my stuff server is doing
Common issues and solutions:
The SSH session may not load your shell profile. Solutions:
Use full path:
/usr/local/bin/claude -p "your prompt"
Source profile first:
source ~/.bashrc && claude -p "your prompt"
Add to system PATH:
sudo ln -s $(which claude) /usr/local/bin/claude
If Claude can't access files or run tools:
--dangerously-skip-permissions for tool accessMake sure you're:
-r flag when resumingSlack has a 4000 character limit. Add to your prompts:
Keep response under 2000 characters.
For long-running Claude operations:
In the next video, we're building a full IT Department with:
Subscribe to catch it when it drops!
An AI-powered custom node for ComfyUI designed to enhance workflow automation and provide intelligent assistance
Deterministic multi-agent pipeline for end-to-end software development, orchestrating CLI-based AI tools (e.g. Gemini, C
💻 A curated list of papers and resources for multi-modal Graphical User Interface (GUI) agents.
npx CLI installing 100+ agents, commands, hooks, and integrations in one command