Aller au contenu
English

Configurer Claude Code

Exécutez Claude Code avec votre compte ou une clé d’API et choisissez les réglages du modèle.

L’image d’agent contient Claude Code. Les sandboxes distantes installent claude s’il est absent avant le premier échange ; l’exécution locale utilise l’exécutable déjà présent dans votre PATH.

  • Version épingléeL’image et l’installation distante utilisent @anthropic-ai/claude-code à la version de agentVersions.claude.
  • Installation distantenpm l’installe sous ~/.outpost-tools dans la sandbox.
  • Image seulebootstrap: false sur dispatch() ou createSandbox() désactive l’installation ; l’image doit fournir claude.

Lancez claude, puis /login, sur l’hôte. authentication: "account" copie la connexion d’abonnement de ~/.claude/.credentials.json (ou $CLAUDE_CONFIG_DIR/.credentials.json) dans le répertoire personnel privé de la sandbox.

import { createAgent, createClaudeHarness } from "@elie-laloum/outpost";

const coder = createAgent({
  harness: createClaudeHarness({ authentication: "account" }),
});

Sur macOS, Claude Code range sa connexion dans le trousseau par défaut, et Outpost ne lit jamais de trousseau. Lancez plutôt claude setup-token et transmettez le jeton affiché dans une variable. Il utilise votre forfait Pro, Max, Team ou Enterprise.

import { createAgent, createClaudeHarness } from "@elie-laloum/outpost";

const coder = createAgent({
  harness: createClaudeHarness({
    authentication: { account: { variable: "CLAUDE_CODE_OAUTH_TOKEN" } },
    variables: {
      CLAUDE_CODE_OAUTH_TOKEN: process.env.CLAUDE_CODE_OAUTH_TOKEN ?? "",
    },
  }),
});

Choisir entre compte et API, et savoir où vont les identifiants : Authentification. Conditions de l’éditeur : Claude Code authentication.

authentication: "usage" transmet ANTHROPIC_API_KEY. Les requêtes sont facturées sur votre compte API Anthropic, pas sur un abonnement.

import { createAgent, createClaudeHarness } from "@elie-laloum/outpost";

const coder = createAgent({
  harness: createClaudeHarness({
    authentication: "usage",
    variables: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY ?? "" },
  }),
});

Sans model, Claude Code utilise son modèle par défaut. Un objet modèle ajoute un niveau d’effort et une limite de sortie.

import { createAgent, createClaudeHarness } from "@elie-laloum/outpost";

const coder = createAgent({
  harness: createClaudeHarness({
    authentication: "account",
    partialMessages: true,
  }),
  model: { name: "sonnet", reasoning: "high", maxOutputTokens: 32_000 },
});

Référence API : ClaudeSettings et AgentModel.

  • Un seul identifiant : Déclarer ANTHROPIC_API_KEY avec l’accès par compte, ou CLAUDE_CODE_OAUTH_TOKEN avec l’accès par API, échoue avant le début du tour.
  • Permissions : Sans permissions, les tours non interactifs s’exécutent avec --dangerously-skip-permissions. La frontière d’isolation est la sandbox, pas le mode de permissions.
  • Réglages en double : Définissez maxOutputTokens ou une variable CLAUDE_CODE_MAX_OUTPUT_TOKENS, pas les deux.

API : createClaudeHarness · ClaudeSettings · createClaudeConversations · AgentAuthentication.