Skip to content
Back to skills

Lokalise Install Auth

BSecurity

'Install and configure Lokalise SDK/CLI authentication.

  • 2,719 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 21, 2026
ai-agentstypescriptgobashnodegitapidocumentation

Works with

  • claude code
  • cli
  • api

Security analysis

B80/100
  • mediumUses curl or wget to download content
  • criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 21, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus --skill lokalise-install-auth --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lokalise Install Auth?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lokalise Install Auth
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-lokalise-install-auth-88f44743/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-lokalise-install-auth-88f44743)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lokalise-install-auth
description: 'Install and configure Lokalise SDK/CLI authentication.

  Use when setting up a new Lokalise integration, configuring API tokens,

  or initializing Lokalise in your project.

  Trigger with phrases like "install lokalise", "setup lokalise",

  "lokalise auth", "configure lokalise API token".

  '
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pip:*), Bash(lokalise2:*), Grep
version: 1.14.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- lokalise
- api
- authentication
compatibility: Designed for Claude Code
---
# Lokalise Install & Auth

## Overview

Set up Lokalise SDK/CLI and configure API token authentication for translation management. Covers the Node.js SDK (`@lokalise/node-api` v12+), the CLI (`lokalise2`), and OAuth2 for Lokalise apps.

## Prerequisites

- Node.js 18+ (SDK v9+ is ESM-only)
- Package manager (npm, pnpm, or yarn)
- Lokalise account with project access
- API token from Lokalise profile settings

## Instructions

### Step 1: Install Node.js SDK

```bash
set -euo pipefail
# SDK v9+ is ESM-only — requires "type": "module" in package.json or .mjs files
npm install @lokalise/node-api

# For CommonJS projects that cannot migrate to ESM, pin to v8
npm install @lokalise/node-api@8
```

### Step 2: Install CLI Tool

```bash
set -euo pipefail
# macOS via Homebrew
brew tap lokalise/cli-2
brew install lokalise2

# Linux — download latest release binary
LATEST_CLI=$(curl -s https://api.github.com/repos/lokalise/lokalise-cli-2-go/releases/latest \
  | grep -oP '"tag_name": "\K[^"]+')
curl -sL "https://github.com/lokalise/lokalise-cli-2-go/releases/download/${LATEST_CLI}/lokalise2_linux_x86_64.tar.gz" | tar xz
sudo mv lokalise2 /usr/local/bin/

# Verify installation
lokalise2 --version
```

### Step 3: Generate API Token

1. Log into [Lokalise](https://app.lokalise.com)
2. Click profile avatar > **Profile Settings**
3. Go to **API tokens** tab
4. Click **Generate new token**
5. Choose **Read and write** for full access (or **Read only** for CI download pipelines)
6. Copy the token immediately (shown only once)

### Step 4: Configure Authentication

```bash
# Set environment variable (recommended)
export LOKALISE_API_TOKEN="your-api-token"

# Or create .env file for local development
echo 'LOKALISE_API_TOKEN=your-api-token' >> .env

# CLI configuration — creates ~/.lokalise2/config.yml
lokalise2 --token "$LOKALISE_API_TOKEN" project list
```

### Step 5: Verify Connection

```typescript
import { LokaliseApi } from "@lokalise/node-api";

const lokaliseApi = new LokaliseApi({
  apiKey: process.env.LOKALISE_API_TOKEN!,
  enableCompression: true, // Gzip responses for faster transfers
});

// Test connection by listing projects
const projects = await lokaliseApi.projects().list({ limit: 10 });
console.log(`Connected! Found ${projects.items.length} projects.`);
for (const p of projects.items) {
  console.log(`  ${p.project_id}: ${p.name}`);
}
```

### Step 6: OAuth2 Authentication (for Lokalise Apps)

```typescript
import { LokaliseApiOAuth } from "@lokalise/node-api";

// Use token obtained via OAuth2 flow
// OAuth scopes: read_projects, write_projects, read_keys, write_keys, etc.
const lokaliseApi = new LokaliseApiOAuth({
  apiKey: oauthAccessToken,
});

// All SDK methods work identically with OAuth tokens
const projects = await lokaliseApi.projects().list({ limit: 10 });
```

OAuth2 is required when building Lokalise marketplace apps that act on behalf of users. Standard API tokens are sufficient for internal integrations.

## Output

- Installed `@lokalise/node-api` package (ESM v9+ or CJS v8)
- `lokalise2` CLI installed and verified
- Environment variable or .env file with API token
- Successful connection verification listing accessible projects

## Error Handling

| Error | Cause | Solution |
|-------|-------|----------|
| `401 Unauthorized` | Invalid or expired token | Generate new token at Profile Settings > API Tokens |
| `403 Forbidden` | Token lacks required scope | Use read-write token, or check OAuth scopes |
| `ERR_REQUIRE_ESM` | Using `require()` with SDK v9+ | Use ESM `import` or downgrade to `@lokalise/node-api@8` |
| `ENOTFOUND api.lokalise.com` | Network blocked | Check firewall allows outbound HTTPS to `api.lokalise.com` |
| `Cannot find module` | SDK not installed | Run `npm install @lokalise/node-api` |

## Examples

### TypeScript ESM Setup

```typescript
// src/lib/lokalise.ts
import { LokaliseApi } from "@lokalise/node-api";

export function createClient(apiKey?: string): LokaliseApi {
  const key = apiKey ?? process.env.LOKALISE_API_TOKEN;
  if (!key) throw new Error("Set LOKALISE_API_TOKEN or pass apiKey");
  return new LokaliseApi({ apiKey: key, enableCompression: true });
}
```

### CLI Configuration File

```yaml
# ~/.lokalise2/config.yml
token: "your-api-token"
project_id: "123456789.abcdef"
```

### Verify Token Permissions (curl)

```bash
set -euo pipefail
# Check which projects the token can access
curl -s -H "X-Api-Token: $LOKALISE_API_TOKEN" \
  "https://api.lokalise.com/api2/projects?limit=5" \
  | jq '.projects[] | {project_id, name}'
```

## Resources

- [Lokalise Developer Hub](https://developers.lokalise.com/)
- [API Authentication](https://developers.lokalise.com/reference/api-authentication)
- [Node SDK Documentation](https://lokalise.github.io/node-lokalise-api/)
- [CLI v2 Documentation](https://docs.lokalise.com/en/articles/3401683-lokalise-cli-v2)
- [OAuth2 Guide](https://developers.lokalise.com/docs/oauth2)

## Next Steps

After successful auth, proceed to `lokalise-hello-world` for your first API call.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.