Troubleshoot SnapCode
Resolve issues with SnapCode installation, sign-in, startup, and pipeline execution.
Messages in quotes are what the session start or the command prints.
Downloading the snaplogic CLI (first session)
| What you see | Reason | Resolution |
|---|---|---|
[x] snaplogic CLI — not available and "could not set up the
slpy CLI — address answered HTTP code. That is
the download service, not your machine or network." |
The CLI download service on your control plane returned an error. | Check that SNAPLOGIC_BASE_URL is your control plane URL. If it
is, start a new session later; if the error persists, contact SnapLogic support with
the HTTP code. |
| "could not set up the slpy CLI — the CLI could not be downloaded. Check network access to address." | The machine can't reach the download service (proxy, firewall, VPN, or
offline), or SNAPLOGIC_BASE_URL is mistyped. |
Check the address in the message, allow HTTPS to it, then start a new session. |
"this is a TLS trust problem, NOT a credentials/URL problem" or
CERTIFICATE_VERIFY_FAILED |
Your Python has no usable CA trust store. Common on python.org macOS builds where Install Certificates.command was never run, or a corporate proxy presents a root CA your Python can't see. |
The plugin recovers on its own when
|
"the snaplogic CLI was downloaded but will not run on this
machine" |
The downloaded build does not match the machine (OS or CPU architecture). | Contact SnapLogic support with your OS and architecture
(uname -sm on macOS/Linux, or echo
$env:PROCESSOR_ARCHITECTURE on Windows). |
"the published snaplogic CLI is older than the plugin expects
and cannot install slpy" |
The published CLI predates the plugin. | Nothing to fix locally; it needs a newer CLI release. |
Address and sign-in
| What you see | Reason | Resolution |
|---|---|---|
[x] Sign-in — no SnapLogic address: SNAPLOGIC_BASE_URL is not
set |
No address configured. | Set SNAPLOGIC_BASE_URL and restart Claude Code. Refer to
Set
your SnapLogic credentials. |
"SNAPLOGIC_BASE_URL: value must be written as
https://host" |
The address has no https://, a trailing /, or
capital letters. The CLI and the SnapLogic MCP server use it exactly as
written. |
Set it to the form the message shows, open a new terminal, restart Claude Code. |
| "is not a SnapLogic address" | SNAPLOGIC_BASE_URL is not a SnapLogic control plane address;
the message lists the domains allowed. |
Set it to your control plane URL. |
| "currently signed in to address, and only one pod can be signed in to at a time" | snaplogic auth login was run for a new control plane while
still signed in to another. |
Sign out of the old one first, then sign in: !
SNAPLOGIC_BASE_URL=https://old-host snaplogic auth
logout, then ! snaplogic auth login. |
[x] Sign-in — snaplogic auth status: not signed in to
host, with [x] SnapLogic MCP — not signed
in |
No password in the environment and no browser sign-in, or the sign-in expired (unused for a while, past its maximum lifetime, or signed out). | Sign in as noted in the checklist, then start a new session. |
[x] Sign-in — snaplogic auth status did not answer |
The snaplogic CLI did not run, or gave an answer the plugin
could not read. |
Run ! snaplogic auth status in Claude Code to see its error,
then start a new session. |
snaplogic auth login ends with "timed out waiting for the
browser callback" |
The browser part has a 3-minute time limit. | Run ! snaplogic auth login again and finish in the browser
within 3 minutes (it returns to 127.0.0.1). |
| Claude was asked to sign you in | Sign-in opens your browser and waits for you to act, so you must run it, not Claude. | Type ! snaplogic auth login at the prompt yourself. |
| The browser goes straight to Authorize SnapLogic CLI without a sign-in page | You are already signed in to SnapLogic in that browser. | Expected. Check the "signed in as" line. For a different account, sign out of SnapLogic in that browser or use a private window. |
| "Already signed in to address as user" | A valid sign-in already exists. | Expected. To sign in again, run ! snaplogic auth logout
first. |
| "SNAPLOGIC_API_USER and SNAPLOGIC_API_PASS are for user on address, but a login for user on address is also saved" | A password and a browser sign-in are both set, for a different control plane or user. The CLI stops rather than pick one. | Use one or the other: unset both SNAPLOGIC_API_USER and
SNAPLOGIC_API_PASS to use browser sign-in, or run !
snaplogic auth logout to remove the saved sign-in. |
| "SNAPLOGIC_API_USER is set but SNAPLOGIC_API_PASS is not set" (or the reverse) | Only one of the password pair is set, often left over from a previous setup. | Set both to use a username and password, or clear the one that is set to use browser sign-in. Open a new terminal, restart Claude Code. |
| "credentials file path is open to other users" | The file holding your browser sign-in can be read by other users on this machine. | Run chmod 600 path as the message
says. |
Installing slpy
| What you see | Reason | Resolution |
|---|---|---|
[x] slpy — not installed with a sign-in note
underneath |
slpy installs through your sign-in, and there is none
yet. |
Sign in (refer to Address and sign-in above). |
| "uv is not installed: install it from https://docs.astral.sh/uv/getting-started/installation/ and run this again" | uv, which installs slpy, is missing. |
Install uv from that page, open a new terminal, start a new
session. |
| "could not install the slpy CLI. The CLI reported: … Authentication required." | Your SNAPLOGIC_API_PASS was rejected. |
Check it by signing in to the SnapLogic UI. Fix it, open a new terminal, restart Claude Code. Repeated failures can lock the account. |
| "no organization for this deployment: set SNAPLOGIC_ORG_NAME, or pass --org" | Username and password set without
SNAPLOGIC_ORG_NAME. |
Set it, spelled exactly SNAPLOGIC_ORG_NAME. A misspelled
variable name is silently ignored. Open a new terminal, restart Claude Code. |
"no organization recorded for this deployment: run snaplogic auth login
--org name to record one, or pass --org" |
Browser sign-in without a default organization. | Run ! snaplogic auth login --org name. This
sets the default organization without reopening the browser if you are already signed
in. |
| "SNAPLOGIC_ORG_NAME is A but the saved login's default organization is B" | SNAPLOGIC_ORG_NAME is left over from a password setup, and
your browser sign-in recorded a different organization. |
Unset SNAPLOGIC_ORG_NAME, or run ! snaplogic auth
login --org A to make it the default. |
slpy is still missing after signing in |
The installer endpoint on your control plane can't be reached (proxy or firewall). | The machine must be able to reach your SnapLogic address. Start a new session. |
After changing your password
| What you see | Reason | Resolution |
|---|---|---|
| "Authentication required", MCP 401s, or the account locks soon after a password change | Claude Code sessions opened before the change still use the old password. | Close sessions opened before the change and start new ones from a terminal with the new password. |
SnapLogic MCP server
| Symptom | Resolution |
|---|---|
plugin:snapcode:snaplogic does not appear in
/mcp |
The SnapCode plugin is not installed or not enabled. Run claude plugin
list and check that snapcode@snapcode is installed and
enabled. If it is not, refer to Install
SnapCode. After installing or updating while a session is open, run
/reload-plugins. |
| MCP shows "not authenticated" or a 401 error |
If you're using browser sign-in (SSO): your sign-in has expired or you aren't
signed in. Run If you're using a username and password: credentials are missing or incorrect, or they're set in a different shell than the one running Claude Code. Verify the credentials and restart Claude Code. |
| MCP shows a 404 or OAuth error |
Claude Code fell back to its own OAuth, which happens only when the plugin's
auth helper ( macOS / Linux / Git Bash: Windows PowerShell: It should print |
Other
| Symptom | Resolution |
|---|---|
ENOENT: Bun could not find a file on plugin
marketplace add or install |
Usually caused by a stale macOS / Linux: Windows PowerShell: |
Skill not recognized
| Symptom | Reason | Resolution |
|---|---|---|
| SnapCode skill is not available when you start Claude Code | The SnapCode plugin is not installed or not enabled. | Run claude plugin list and check that
snapcode@snapcode is installed and enabled. If it is not, refer
to Install SnapCode. After installing or
updating while a session is open, run /reload-plugins. |
Pipeline validation and execution errors
| Symptom | Reason | Resolution |
|---|---|---|
| Validation fails after deploy with a snap or field error | A snap parameter is missing, incorrectly typed, or references a field that does not exist. | Tell SnapCode what the error means and what the correct value should be.
For example:
SnapCode edits the .py file, retranslates, redeploys, and
revalidates automatically. |
| Pipeline passes local execution but fails Platform validation or execution | Difference in behavior between the local execution engine and the SnapLogic Platform. | This is a non-conformance between the local engine and the Platform. Report it to the SnapCode team with the pipeline file and the exact error so it can be investigated. |
Checks when nothing above fits
! which slpyshould point inside~/.claude/plugins/(not an old~/.local/bin/slpy).! slpy --helpshould print the usage./snaplogicshould listsnaplogic-slpy-gen,snaplogic-deploy,agent-pipelines, andmcp-server-pipelines.