Install SnapCode

Install SnapCode on your machine to start building SnapLogic pipelines conversationally using Claude Code.

Prerequisites

Before you install SnapCode, ensure you have the following:

  • Docker Desktop: Installed and running on your machine.
  • Git: Clone the SnapCode repository.
  • GitHub account: With access to the SnapCode repository. You need a classic Personal Access Token (PAT) with the read:packages scope. Fine-grained tokens are not supported. Contact your SnapLogic admin for the required access.
  • Claude Code account: Anthropic subscription. On first run, Claude Code prompts you to log in. If it does not prompt, type /login inside Claude Code to sign in. Alternatively, if your organization uses AWS Bedrock for Claude access, refer to Use AWS Bedrock below.
  • SnapLogic credentials:
    • SnapLogic Platform URL (for example, https://elastic.snaplogic.com)
    • API username (your SnapLogic login email)
    • API password
      Note: SnapCode currently authenticates with your SnapLogic username and password. Org/Environments that require login via SSO or MFA are not yet supported.
  • AWS credentials (optional): Access Key ID, Secret Access Key, and region (a US region such as us-west-2). They are not related to any AWS data sources in your pipelines and are required only if your organization accesses Claude through AWS Bedrock instead of an Anthropic subscription. Refer to Use AWS Bedrock.

Choose your installation environment

SnapCode supports two installation environments. Choose the one that fits your setup:

Environment Best for Notes
VS Code Dev Container macOS and Linux users who work in VS Code All tools run inside a container. On Windows, clone the repo under WSL and not under C:\Users\....
Terminal / Docker Windows users, or anyone who prefers working in a terminal Simplest setup. No VS Code required. Works on all platforms.

Install SnapCode

  1. Clone the SnapCode repository.

    If you are on Windows and plan to use the VS Code Dev Container environment, clone inside WSL (for example, under \\wsl$\Ubuntu\home\<your-username>\), not on a Windows drive path.

  2. Create your credentials file.

    Copy the example environment file and fill in your credentials:

    cp .env.example .env

    Open .env in a text editor and set the following values:

    SNAPLOGIC_BASE_URL=https://your-control-plane.snaplogic.com
    [email protected]
    SNAPLOGIC_API_PASS=your-password
    # AWS credentials — only required when using --bedrock
    # AWS_ACCESS_KEY_ID=your-aws-access-key
    # AWS_SECRET_ACCESS_KEY=your-aws-secret-key
    # AWS_REGION=us-west-2

    For SNAPLOGIC_BASE_URL, use the API base URL for your SnapLogic control plane (not the cdn.* URL your browser shows after login):

    Control plane URL
    US https://elastic.snaplogic.com
    US-East https://elastic2.snaplogic.com
    EU https://emea.snaplogic.com
    UAT https://uat.elastic.snaplogic.com
    Note: The AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_REGION values are optional. They are required only if your organization accesses Claude through AWS Bedrock. Refer to Use AWS Bedrock.
  3. Run the installer for your environment.

    VS Code Dev Container:

    macOS / Linux Windows (WSL)
    ./install.sh vscode .\install.cmd vscode

    After running the installer, open the repo in VS Code and select Reopen in Container when prompted.

    Terminal / Docker:

    macOS / Linux Windows
    ./install.sh docker .\install.cmd docker

    The installer pulls the SnapCode Docker image from GitHub Container Registry. When prompted, enter your GitHub PAT with read:packages scope. If the pull fails with a 403 Forbidden error, the installer clears the cached token and prompts again. Enter a valid token when asked.

  4. Start SnapCode.

    From the SnapCode directory (or any directory if you installed globally), run:

    claude

    Claude Code opens. Type /mcp to confirm the SnapCode MCP server is connected. You should see the snaplogic server listed. If it shows No MCP servers configured, refer to Troubleshooting.

Optional: Use SnapCode from any directory

By default, SnapCode is available only when you run claude from the SnapCode directory. To make it available from any directory on your machine, run the global installer once:

macOS / Linux Windows
./install.sh global .\install.cmd global

After global install, you can run claude from any folder. Pipeline files are created in your current working directory.

To undo the global install:

macOS / Linux Windows
./install.sh global remove .\install.cmd global remove

Optional: Use AWS Bedrock for Claude access

If your organization accesses Claude through AWS Bedrock instead of an Anthropic subscription, pass the --bedrock flag to the installer:

macOS / Linux Windows
./install.sh docker --bedrock .\install.cmd docker --bedrock

This injects your AWS credentials from .env into Claude Code settings. The AWS region must be a US region (for example, us-west-2).

Update SnapCode

To pull the latest SnapCode Docker image:

macOS / Linux Windows
./install.sh update .\install.cmd update