Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.
Le SDK Claude Code permet d’exécuter Claude Code par programmation depuis vos scripts et applications. C’est le même Claude Code que vous utilisez dans le terminal — avec les mêmes outils, les mêmes capacités — mais intégrable dans n’importe quel workflow automatisé.
Voici un exemple TypeScript qui demande à Claude d’analyser un répertoire à la recherche de requêtes dupliquées :
import { query } from "@anthropic-ai/claude-code";const prompt = "Cherche les requêtes en double dans le répertoire ./src/queries";for await (const message of query({ prompt })) { console.log(JSON.stringify(message, null, 2));}
La fonction query retourne un flux de messages représentant la conversation brute entre votre instance Claude Code et le modèle. Le dernier message contient la réponse finale.
Par défaut, le SDK opère en lecture seule : il peut lire des fichiers, parcourir des répertoires, effectuer des recherches grep — mais il ne peut ni créer, ni modifier, ni supprimer de fichiers.Pour activer des permissions d’écriture :
for await (const message of query({ prompt, options: { allowedTools: ["Edit", "Write", "MultiEdit"] }})) { console.log(JSON.stringify(message, null, 2));}
Vous pouvez également configurer les permissions dans .claude/settings.json pour un accès global au projet.
Le SDK hérite automatiquement de la configuration de l’instance Claude Code dans le même répertoire — y compris le CLAUDE.md, les hooks et les serveurs MCP configurés. Pas de configuration supplémentaire nécessaire.
Hooks Git — analyser automatiquement les modifications avant un commit :
// .git/hooks/pre-commitimport { query } from "@anthropic-ai/claude-code";for await (const message of query({ prompt: "Analyse les fichiers modifiés dans ce commit. Signale tout problème évident.", options: { allowedTools: [] } // lecture seule})) { // traiter les messages}
Pipelines CI/CD — vérifications de qualité automatisées à chaque push.Génération de documentation — analyser le code source et produire ou mettre à jour la documentation.Revues de code programmées — déclencher une analyse à intervalles réguliers sur les parties critiques du code.Hooks Claude Code avancés — comme montré dans la page précédente, lancer une instance SDK depuis un hook PostToolUse pour analyser le travail d’une autre instance.
Le SDK est conçu pour l’automatisation et l’intégration dans des pipelines plus larges. Pour le développement interactif au quotidien, l’interface terminale reste plus adaptée — elle offre la validation à la volée, l’interruption avec Échap, et le mode planification que le SDK ne reproduit pas nativement.
Le SDK Claude Code, c’est la brique qui manquait pour intégrer l’intelligence de Claude dans vos outils existants sans passer par une API séparée. Si vous pouvez l’automatiser avec un script, vous pouvez y ajouter Claude.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tramio","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/tramio/FwZk7HCsmhqyIInI/logo/light.svg?fit=max\u0026auto=format\u0026n=FwZk7HCsmhqyIInI\u0026q=85\u0026s=1302f0f1ecda883a93a2536d2175ee3e","dark":"https://mintcdn.com/tramio/FwZk7HCsmhqyIInI/logo/dark.svg?fit=max\u0026auto=format\u0026n=FwZk7HCsmhqyIInI\u0026q=85\u0026s=de323af815f0e558aa4930a6ac13a753"},"favicon":"/favicon.svg","navbar":{"links":[{"href":"/about","label":"À propos"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/in/laurent-vautier"}},"seo":{},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tramio","hasAudioNarration":false,"actualSubdomain":"tramio","customDomains":["tramio.fr"],"gitSource":{"type":"github","owner":"rollmol","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21dbb4271fd09fad7d5694","collectionId":"8cd6bc70-88f8-4ffa-913e-7be735766393","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21dbb4271fd09fad7d5694:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Claude","count":15},{"language":"default","tag":"Claude Code","count":11},{"language":"default","tag":"Travailler avec Claude Code","count":5},{"language":"default","tag":"Comprendre et installer","count":4},{"language":"default","tag":"Découvrir Claude","count":3},{"language":"default","tag":"Structurer votre espace de travail","count":3},{"language":"default","tag":"Pour aller plus loin","count":3},{"language":"default","tag":"L'application de bureau Claude","count":3},{"language":"default","tag":"Brancher Claude sur votre environnement","count":3},{"language":"default","tag":"Automatiser et étendre","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"claude/code/sdk","slug":"/claude/code/sdk","pageMetadata":{"title":"Le SDK Claude Code","description":"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.","href":"/claude/code/sdk","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Le SDK Claude Code permet d’exécuter Claude Code par programmation depuis vos scripts et applications. C’est le même Claude Code que vous utilisez dans le terminal — avec les mêmes outils, les mêmes capacités — mais intégrable dans n’importe quel workflow automatisé.`}),`\n`,_jsx(Heading,{level:`2`,id:`installation`,children:`Installation`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @anthropic-ai/claude-code`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Le SDK est disponible pour TypeScript, Python et via la CLI.`}),`\n`,_jsx(Heading,{level:`2`,id:`utilisation-de-base`,children:`Utilisation de base`}),`\n`,_jsx(_components.p,{children:`Voici un exemple TypeScript qui demande à Claude d’analyser un répertoire à la recherche de requêtes dupliquées :`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@anthropic-ai/claude-code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Cherche les requêtes en double dans le répertoire ./src/queries\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` of`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`prompt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` })) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`La fonction `,_jsx(_components.code,{children:`query`}),` retourne un flux de messages représentant la conversation brute entre votre instance Claude Code et le modèle. Le dernier message contient la réponse finale.`]}),`\n`,_jsx(Heading,{level:`2`,id:`permissions-par-défaut`,children:`Permissions par défaut`}),`\n`,_jsxs(_components.p,{children:[`Par défaut, le SDK opère en `,_jsx(_components.strong,{children:`lecture seule`}),` : il peut lire des fichiers, parcourir des répertoires, effectuer des recherches grep — mais il ne peut ni créer, ni modifier, ni supprimer de fichiers.`]}),`\n`,_jsx(_components.p,{children:`Pour activer des permissions d’écriture :`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` of`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` prompt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` options:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` allowedTools:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Edit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Write\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MultiEdit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})) {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Vous pouvez également configurer les permissions dans `,_jsx(_components.code,{children:`.claude/settings.json`}),` pour un accès global au projet.`]}),`\n`,_jsx(Heading,{level:`2`,id:`héritage-du-contexte`,children:`Héritage du contexte`}),`\n`,_jsxs(_components.p,{children:[`Le SDK hérite automatiquement de la configuration de l’instance Claude Code dans le même répertoire — y compris le `,_jsx(_components.code,{children:`CLAUDE.md`}),`, les hooks et les serveurs MCP configurés. Pas de configuration supplémentaire nécessaire.`]}),`\n`,_jsx(Heading,{level:`2`,id:`cas-d’usage`,children:`Cas d’usage`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Hooks Git`}),` — analyser automatiquement les modifications avant un commit :`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// .git/hooks/pre-commit`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@anthropic-ai/claude-code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` of`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` prompt:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Analyse les fichiers modifiés dans ce commit. Signale tout problème évident.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` options:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`allowedTools:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [] } `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// lecture seule`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})) {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // traiter les messages`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Pipelines CI/CD`}),` — vérifications de qualité automatisées à chaque push.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Génération de documentation`}),` — analyser le code source et produire ou mettre à jour la documentation.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Revues de code programmées`}),` — déclencher une analyse à intervalles réguliers sur les parties critiques du code.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Hooks Claude Code avancés`}),` — comme montré dans la page précédente, lancer une instance SDK depuis un hook PostToolUse pour analyser le travail d’une autre instance.`]}),`\n`,_jsx(Heading,{level:`2`,id:`ce-que-le-sdk-ne-remplace-pas`,children:`Ce que le SDK ne remplace pas`}),`\n`,_jsxs(_components.p,{children:[`Le SDK est conçu pour l’`,_jsx(_components.strong,{children:`automatisation et l’intégration`}),` dans des pipelines plus larges. Pour le développement interactif au quotidien, l’interface terminale reste plus adaptée — elle offre la validation à la volée, l’interruption avec Échap, et le mode planification que le SDK ne reproduit pas nativement.`]}),`\n`,_jsx(Heading,{level:`2`,id:`autrement-dit`,children:`Autrement dit`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Le SDK Claude Code, c’est la brique qui manquait pour intégrer l’intelligence de Claude dans vos outils existants sans passer par une API séparée. Si vous pouvez l’automatiser avec un script, vous pouvez y ajouter Claude.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Le SDK Claude Code","description":"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.","href":"/claude/code/sdk","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Installation","slug":"installation","depth":2,"children":[]},{"title":"Utilisation de base","slug":"utilisation-de-base","depth":2,"children":[]},{"title":"Permissions par défaut","slug":"permissions-par-défaut","depth":2,"children":[]},{"title":"Héritage du contexte","slug":"héritage-du-contexte","depth":2,"children":[]},{"title":"Cas d’usage","slug":"cas-d’usage","depth":2,"children":[]},{"title":"Ce que le SDK ne remplace pas","slug":"ce-que-le-sdk-ne-remplace-pas","depth":2,"children":[]},{"title":"Autrement dit","slug":"autrement-dit","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tramio","siteName":"Tramio","title":"Le SDK Claude Code - Tramio","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-17T10:13:45.883Z","originalFileLocation":"claude/code/sdk.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tramio\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Le SDK Claude Code - Tramio\">\u003cmeta data-mint-head property=\"og:description\" content=\"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tramio\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://tramio.fr/claude/code/sdk\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tramio.mintlify.app/_mintlify/api/og/v2?division=Automatiser+et+%C3%A9tendre\u0026amp;title=Le+SDK+Claude+Code\u0026amp;description=Utiliser+le+SDK+Claude+Code+pour+int%C3%A9grer+les+capacit%C3%A9s+de+Claude+dans+vos+propres+scripts%2C+pipelines+CI%2FCD+et+outils+de+d%C3%A9veloppement.\u0026amp;theme=fa09c8feffdc02f99042bdeb\u0026amp;signature=a4489344003adf1aa71b1987a4e174fef007145412a1d2ee1a1b3e6569b74ae2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Le SDK Claude Code - Tramio\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tramio.mintlify.app/_mintlify/api/og/v2?division=Automatiser+et+%C3%A9tendre\u0026amp;title=Le+SDK+Claude+Code\u0026amp;description=Utiliser+le+SDK+Claude+Code+pour+int%C3%A9grer+les+capacit%C3%A9s+de+Claude+dans+vos+propres+scripts%2C+pipelines+CI%2FCD+et+outils+de+d%C3%A9veloppement.\u0026amp;theme=fa09c8feffdc02f99042bdeb\u0026amp;signature=a4489344003adf1aa71b1987a4e174fef007145412a1d2ee1a1b3e6569b74ae2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tramio/Vle1tlVoAr6CN81n/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tramio\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://tramio.fr/claude/code/sdk\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/claude/code/sdk.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tramio.fr/#organization\",\"name\":\"Tramio\",\"url\":\"https://tramio.fr\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tramio/FwZk7HCsmhqyIInI/logo/light.svg?fit=max\u0026auto=format\u0026n=FwZk7HCsmhqyIInI\u0026q=85\u0026s=1302f0f1ecda883a93a2536d2175ee3e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://tramio.fr#website\",\"name\":\"Tramio\",\"url\":\"https://tramio.fr\",\"publisher\":{\"@id\":\"https://tramio.fr/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tramio.fr/claude/code/sdk#webpage\",\"url\":\"https://tramio.fr/claude/code/sdk\",\"name\":\"Le SDK Claude Code\",\"description\":\"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\",\"dateModified\":\"2026-03-17T10:13:45.883Z\",\"isPartOf\":{\"@id\":\"https://tramio.fr#website\"},\"breadcrumb\":{\"@id\":\"https://tramio.fr/claude/code/sdk#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://tramio.fr/claude/code/sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatiser et étendre\",\"item\":\"https://tramio.fr/claude/code/hooks\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le SDK Claude Code\",\"item\":\"https://tramio.fr/claude/code/sdk\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://tramio.fr/claude/code/sdk#article\",\"headline\":\"Le SDK Claude Code\",\"name\":\"Le SDK Claude Code\",\"description\":\"Utiliser le SDK Claude Code pour intégrer les capacités de Claude dans vos propres scripts, pipelines CI/CD et outils de développement.\",\"url\":\"https://tramio.fr/claude/code/sdk\",\"mainEntityOfPage\":{\"@id\":\"https://tramio.fr/claude/code/sdk#webpage\"},\"dateModified\":\"2026-03-17T10:13:45.883Z\",\"publisher\":{\"@id\":\"https://tramio.fr/#organization\"},\"isPartOf\":{\"@id\":\"https://tramio.fr#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tramio\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tramio","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Claude","pages":[{"title":"Claude","href":"/claude/101/portrait-assistant-ia"}]},{"tab":"Claude Code","groups":[{"group":"Comprendre et installer","pages":[{"title":"Introduction à Claude Code","href":"/claude/code"},{"title":"Comprendre les assistants de codage","href":"/claude/code/comprendre"},{"title":"Installation et configuration","href":"/claude/code/installation"},{"title":"Gérer le contexte avec CLAUDE.md","href":"/claude/code/contexte"}]},{"group":"Travailler avec Claude Code","pages":[{"title":"Apporter des modifications","href":"/claude/code/modifications"},{"title":"Contrôler la conversation","href":"/claude/code/conversation"},{"title":"Commandes personnalisées","href":"/claude/code/commandes"},{"title":"Étendre Claude Code avec MCP","href":"/claude/code/mcp"},{"title":"Intégration GitHub","href":"/claude/code/github"}]},{"group":"Automatiser et étendre","pages":[{"title":"Hooks","description":"Intercepter et contrôler les appels d'outils de Claude Code avant ou après leur exécution, pour automatiser des workflows et renforcer la sécurité.","href":"/claude/code/hooks"},{"title":"Le SDK Claude Code","href":"/claude/code/sdk"}]}]},{"tab":"Make","pages":[{"title":"Make","href":"/make"}]},{"tab":"Infra \u0026 IA locale","pages":[{"title":"Infra \u0026 IA locale","href":"/infra/open-notebook-ollama"}]}]},"basePath":"","title":"Le SDK Claude Code - Tramio","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}