Install SnapCode
Install SnapCode as a Claude Code plugin — no repository to clone, no container, and no GitHub account required.
Prerequisites
Install these tools on your machine before you install SnapCode:
| Tool | Why | Check command |
|---|---|---|
| Claude Code CLI v2.1.195 or later | Runs the plugin. Earlier versions do not support the
${CLAUDE_PLUGIN_ROOT} placeholder required for MCP
authentication, so the SnapLogic MCP Server will not connect. |
claude --version |
| Python 3.8+ | Runs the plugin's bootstrap and auth helper |
macOS / Linux: Windows: |
Set your SnapLogic credentials
SnapCode authenticates to the SnapLogic cloud using your existing SnapLogic credentials. Set the following variables in your shell environment:
| Variable | What it is |
|---|---|
SNAPLOGIC_API_USER |
Your SnapLogic platform login email. Also authenticates the SnapLogic MCP server. |
SNAPLOGIC_API_PASS |
Your SnapLogic platform password. Also authenticates the SnapLogic MCP server. |
SNAPLOGIC_BASE_URL |
Your pod URL — the same host you use for the SnapLogic UI. |
SNAPLOGIC_ORG_NAME |
Your SnapLogic organization name. Required to install the slpy CLI. If you are unsure of the exact name, ask your SnapLogic admin. |
macOS / Linux
Add these lines to your shell profile — ~/.zshrc on macOS, or
~/.bashrc on most Linux — so they persist across terminals:
export SNAPLOGIC_API_USER='[email protected]'
export SNAPLOGIC_API_PASS='your-password'
export SNAPLOGIC_BASE_URL='https://your-pod.snaplogic.com'
export SNAPLOGIC_ORG_NAME='your-org-name'
'pa'\''ss' for
pa'ss.After saving, run source ~/.zshrc (or open a new terminal) to load the
values. Restart Claude Code or your editor if it was already open.
Windows (PowerShell)
Run these commands to set the variables at the user level so they persist across new terminals:
[Environment]::SetEnvironmentVariable('SNAPLOGIC_API_USER', '[email protected]', 'User')
[Environment]::SetEnvironmentVariable('SNAPLOGIC_API_PASS', 'your-password', 'User')
[Environment]::SetEnvironmentVariable('SNAPLOGIC_BASE_URL', 'https://your-pod.snaplogic.com', 'User')
[Environment]::SetEnvironmentVariable('SNAPLOGIC_ORG_NAME', 'your-org-name', 'User')
'pa''ss' for
pa'ss. After running SetEnvironmentVariable, open a new
terminal and restart Claude Code or your editor for the values to take effect.Install the plugin
Run these two commands to install SnapCode:
claude plugin marketplace add Snap-Developers/SnapCode-CC-Plugin
claude plugin install snapcode@snapcode
First run
Start Claude Code in any directory where your credentials from the previous step are set:
claude
After a few seconds, you see a welcome message confirming that SnapCode is set up:

On every session the plugin loads the SnapCode skills, connects to the SnapLogic MCP
server using your credentials, and makes the slpy CLI ready.
Perform the following checks to confirm that SnapCode is correctly installed:
-
Type
/mcpand press Enter. Theplugin:snapcode:snaplogicserver should be listed and show Connected.
-
Type
/snaplogicand press Enter. Confirm that bothsnaplogic-slpy-genandsnaplogic-deployskills are listed.
-
Run these commands directly in your Claude Code session to verify the
slpyCLI is installed:! which slpy ! slpy --helpwhich slpyshould point inside the SnapCode plugin cache, andslpy --helpshould print the CLI usage instead of command not found.

You are now ready to send your first prompt:

Update SnapCode
The plugin is a snapshot cloned locally and does not update automatically. New plugin versions ship with SnapLogic's monthly platform release. To pull the latest version, run:
claude plugin marketplace update snapcode
claude plugin update snapcode@snapcode
plugin marketplace sub-commands use the short name
(snapcode), while plugin install, plugin
update, and plugin uninstall use the full plugin identifier
(snapcode@snapcode). Both refer to the same plugin.slpy CLI is separate. The plugin refreshes it automatically with a
daily check against the private index, so you do not need to update it manually.Uninstall SnapCode
Run these two commands to remove SnapCode:
claude plugin uninstall snapcode@snapcode
claude plugin marketplace remove snapcode
To remove files written outside the plugin directory (safe to delete), run the following cleanup commands:
macOS / Linux:
rm -rf ~/.claude/plugins/cache/snapcode
Windows (PowerShell):
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\plugins\cache\snapcode"
Migrating from the previous installation
If you previously used the Docker-based SnapCode distribution (cloned the repository, ran
the Docker image, and installed slpy or the MCP server globally), remove
those components first as they may conflict with the plugin.
Remove the old user-scope SnapLogic MCP and the old slpy shim from
PATH:
macOS / Linux:
claude mcp remove snaplogic
rm ~/.local/bin/slpy
Windows (PowerShell):
claude mcp remove snaplogic
Remove-Item "$env:USERPROFILE\.local\bin\slpy*"
snaplogic and the plugin's snapcode:snaplogic. They do
not share a name, but keeping both is redundant and might cause confusion. The which
slpy command might also resolve to the old symlink instead of the plugin's
version.After removing both old components, install the plugin as described in Install the plugin.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| MCP shows "not authenticated" or a 401 error | Credentials are missing or incorrect, or they are set in a different shell than the one running Claude Code. Verify the credentials step and restart Claude Code. |
| MCP shows a 404 or OAuth error |
No Authorization header reached the server, so it fell back to OAuth discovery
(which returns 404 here). The header comes from the auth helper
( macOS / Linux / Git Bash: Windows PowerShell: If it prints |
| Installer unreachable, org lookup fails, or "credentials missing" error | Check that the variable is spelled exactly SNAPLOGIC_ORG_NAME.
A misspelled variable name is silently ignored, so the Org cannot be resolved and
the slpy install fails. Fix the name, open a new terminal, and
restart. |
slpy not found or not installed |
The bootstrap installs slpy on the first session. If it is
still missing, start a fresh session. If your environment is behind a proxy or
firewall, the installer must be able to reach the SLServer endpoint on your
pod. |
ENOENT: Bun could not find a file on plugin
marketplace add or install |
Usually caused by a stale macOS / Linux: Windows PowerShell: |
| Two SnapLogic MCPs registered after migrating from the old installation | The old distribution registered a user-scope MCP named
snaplogic. The plugin adds its own
(plugin:snapcode:snaplogic). Remove the old one: claude
mcp remove snaplogic. Run claude mcp list to view what
is registered. |