Skip to content
Skillv1.0.0

langfuse-install-auth

Install and configure Langfuse SDK authentication for LLM observability. Use when setting up a new Langfuse integration, configuring API keys, or initializing Langfuse tracing in your project. Trigger

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (skills/.curated/langfuse-install-auth/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-install-auth. Copyright stays with the author (MIT).

Langfuse Install & Auth

Overview

Install the Langfuse SDK and configure authentication for LLM observability. Covers both the legacy langfuse package (v3) and the modern modular SDK (v4+/v5) built on OpenTelemetry.

Prerequisites

  • Node.js 18+ or Python 3.9+
  • Package manager (npm, pnpm, or pip)
  • Langfuse account (cloud at https://cloud.langfuse.com or self-hosted)
  • Public Key (pk-lf-...) and Secret Key (sk-lf-...) from project settings

Instructions

Step 1: Install SDK

TypeScript/JavaScript (v4+ modular SDK -- recommended):

set -euo pipefail
# Core client for prompt management, datasets, scores
npm install @langfuse/client

# Tracing (observe, startActiveObservation)
npm install @langfuse/tracing @langfuse/otel @opentelemetry/sdk-node

# OpenAI integration (drop-in wrapper)
npm install @langfuse/openai

# LangChain integration
npm install @langfuse/langchain

TypeScript/JavaScript (v3 legacy -- single package):

npm install langfuse

Python:

pip install langfuse

Step 2: Get API Keys

  1. Open Langfuse dashboard (https://cloud.langfuse.com or your self-hosted URL)
  2. Go to Settings > API Keys
  3. Click Create new API key pair
  4. Copy both keys:
    • Public Key: pk-lf-... (identifies your project)
    • Secret Key: sk-lf-... (grants write access -- keep secret)
  5. Note the host URL (cloud default: https://cloud.langfuse.com)

Step 3: Configure Environment Variables

# Set environment variables
export LANGFUSE_PUBLIC_KEY="pk-lf-..."
export LANGFUSE_SECRET_KEY="sk-lf-..."
export LANGFUSE_BASE_URL="https://cloud.langfuse.com"

# Or create .env file
cat >> .env << 'EOF'
LANGFUSE_PUBLIC_KEY=pk-lf-your-public-key
LANGFUSE_SECRET_KEY=sk-lf-your-secret-key
LANGFUSE_BASE_URL=https://cloud.langfuse.com
EOF

Note: v4+ uses LANGFUSE_BASE_URL. Legacy v3 uses LANGFUSE_HOST or LANGFUSE_BASEURL.

Step 4: Initialize and Verify (v4+ Modular SDK)

// src/lib/langfuse.ts
import { LangfuseClient } from "@langfuse/client";
import { startActiveObservation } from "@langfuse/tracing";
import { LangfuseSpanProcessor } from "@langfuse/otel";
import { NodeSDK } from "@opentelemetry/sdk-node";

// 1. Register the OpenTelemetry span processor (once at app startup)
const sdk = new NodeSDK({
  spanProcessors: [new LangfuseSpanProcessor()],
});
sdk.start();

// 2. Create the Langfuse client for prompt/dataset/score operations
export const langfuse = new LangfuseClient({
  publicKey: process.env.LANGFUSE_PUBLIC_KEY,
  secretKey: process.env.LANGFUSE_SECRET_KEY,
  baseUrl: process.env.LANGFUSE_BASE_URL,
});

// 3. Verify connection
async function verify() {
  await startActiveObservation("connection-test", async (span) => {
    span.update({ input: { test: true } });
    span.update({ output: { status: "connected" } });
  });
  console.log("Langfuse connection verified. Check dashboard for trace.");
}

verify();

Step 5: Initialize and Verify (v3 Legacy SDK)

import { Langfuse } from "langfuse";

const langfuse = new Langfuse({
  publicKey: process.env.LANGFUSE_PUBLIC_KEY,
  secretKey: process.env.LANGFUSE_SECRET_KEY,
  baseUrl: process.env.LANGFUSE_HOST,
});

// Verify with a test trace
const trace = langfuse.trace({
  name: "connection-test",
  metadata: { test: true },
});

await langfuse.flushAsync();
console.log("Connected. Trace URL:", trace.getTraceUrl());

// Clean shutdown
process.on("beforeExit", async () => {
  await langfuse.shutdownAsync();
});

Step 6: Python Verification

from langfuse import Langfuse
import os

langfuse = Langfuse(
    public_key=os.environ["LANGFUSE_PUBLIC_KEY"],
    secret_key=os.environ["LANGFUSE_SECRET_KEY"],
    host=os.environ.get("LANGFUSE_HOST", "https://cloud.langfuse.com"),
)

# Test trace
trace = langfuse.trace(name="connection-test", metadata={"test": True})
langfuse.flush()
print(f"Connected. Trace: {trace.get_trace_url()}")

SDK Version Comparison

Feature v3 (langfuse) v4+ (@langfuse/*)
Package Single langfuse Modular: @langfuse/client, @langfuse/tracing, @langfuse/otel
Base URL env var LANGFUSE_HOST LANGFUSE_BASE_URL
Tracing langfuse.trace() startActiveObservation() / observe()
Client class Langfuse LangfuseClient
OpenAI wrapper observeOpenAI() from langfuse observeOpenAI() from @langfuse/openai
Foundation Custom OpenTelemetry

Error Handling

Error Cause Solution
401 Unauthorized Invalid or expired API key Re-check keys in Langfuse dashboard Settings > API Keys
ECONNREFUSED Wrong host URL or server down Verify LANGFUSE_BASE_URL / LANGFUSE_HOST
Missing required configuration Env vars not loaded Ensure dotenv/config imported at entry point
Module not found Package not installed Run npm install or pip install again
Using pk- key as secret Keys swapped Public key starts pk-lf-, secret starts sk-lf-

Output

Produce a connection-verification receipt with SDK version, configured host, project identifier, and a trace URL or identifier. Record only whether each credential is set; never print key values, headers, or compiled prompts.

Examples

Configure the v4 SDK with environment-provided keys, submit a single synthetic trace, and confirm it appears in the intended project. For a self-hosted host change, verify the health endpoint and test trace before removing the previous host configuration.

Resources

Next Steps

After auth is working, proceed to langfuse-hello-world for your first traced LLM call.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-langfuse-inst-f725da/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-langfuse-inst-f725da.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-langfuse-inst-f725da",
  "kind": "skill",
  "name": "langfuse-install-auth",
  "description": "Install and configure Langfuse SDK authentication for LLM observability. Use when setting up a new Langfuse integration, configuring API keys, or initializing Langfuse tracing in your project. Trigger with phrases like \"install langfuse\", \"setup langfuse\", \"langfuse auth\", \"configure langfuse API key\", \"langfuse tracing setup\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "langfuse",
      "api",
      "observability",
      "llm",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Install and configure Langfuse SDK authentication for LLM observability. Use when setting up a new Langfuse integration, configuring API keys, or initializing Langfuse tracing in your project. Trigger with phrases like \"install langfuse\", \"setup langfuse\", \"langfuse auth\", \"configure langfuse API key\", \"langfuse tracing setup\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "skills/.curated/langfuse-install-auth/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/skills/.curated/langfuse-install-auth/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/skills/.curated/langfuse-install-auth/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(npm:*),",
      "Bash(pip:*),",
      "Bash(pnpm:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# Langfuse Install & Auth\n\n## Overview\n\nInstall the Langfuse SDK and configure authentication for LLM observability. Covers both the legacy `langfuse` package (v3) and the modern modular SDK (v4+/v5) built on OpenTelemetry.\n\n## Prerequisites\n\n- Node.js 18+ or Python 3.9+\n- Package manager (npm, pnpm, or pip)\n- Langfuse account (cloud at https://cloud.langfuse.com or self-hosted)\n- Public Key (`pk-lf-...`) and Secret Key (`sk-lf-...`) from project settings\n\n## Instructions\n\n### Step 1: Install SDK\n\n**TypeScript/JavaScript (v4+ modular SDK -- recommended):**\n\n```bash\nset -euo pipefail\n# Core cli",
  "cost": {
    "context_tokens": 1524
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-langfuse-inst-f725da/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.