9. Headless Mode¶
9.1 claude -p¶
Määritelmä
claude -p (print / non-interactive mode) mahdollistaa Claude Coden käytön skripteissä,
CI/CD:ssä ja yksikäsitteisessä toimenpiteessä ilman interaktiivista terminaalinäkymää.
Kaikki CLI-optiot eivät katoa: käytettävissä esimerkiksi --continue, --allowedTools ja
--output-format.
claude -p "What does the auth module do?"
9.2 Build-lokin putkitus Claudeen¶
cat build.log | claude -p "Why did this build fail?"
Tämä vastaa suoraan headless-demota: build-logi putkitetaan mallille, ja Claude selittää ensimmäisen virheen, syyn ja mahdolliset korjaukset.
ADVANCED-VINKKI 10
Käytä --bare-tilaa silloin, kun haluat erityisen nopean scripted-ajon ja tiedät tarkasti,
mitä tarvitset. Se ohittaa hooks, skills, plugins, MCP, auto-memory ja CLAUDE.md-autodiscovery.
Tämä on hyvä CI:n minimipinnalle, mutta ei suositeltava oletukseksi kehittäjän työympäristössä.
claude -p "Analyze build log" --bare --allowedTools "Read" --output-format json
9.3 JSON-output¶
cat build.log | claude -p \
"Return JSON with status, first_failure, likely_cause, next_action" \
--output-format json
Nykyinen CLI tukee strukturoituja output-formaatteja. Lisäksi stream-json mahdollistaa
streamatut tapahtumat, ja --include-hook-events sekä partial-message-asetukset ovat
saatavana silloin, kun tarvitset tapahtumavirran.
Esimerkki 23: CI build failure triage¶
set -o pipefail
cat build.log | claude -p \
"Return JSON with status, first_failure, likely_cause, next_action" \
--output-format json > claude-triage.json
Esimerkki 24: Read-only pipeline¶
claude -p "Review current diff" --tools "Read"
Rajaa agentille vain Read — Tämä mahdollistaa analysin ilman, että agentti voi muokata repoa.
Esimerkki 25: Exit code -ajattelu¶
Älä rakenna automaatiota pelkästään luonnollisen kielen perusteella.
# Käännetään selkeään JSON- ja validointistrutta
cat data.txt | claude -p \
"Return JSON: {status, issues[]}" \
--output-format json | jq '.status'
VAROITUS 11
Headless + laajat työkalut + automaattiset permission-moodit voivat muodostaa erittäin vahvan automaatioagentin. Testaa ensin read-only-moodina, rajaa työkalut, käytä sandboxia ja tee prod-toiminnoista erillinen hyväksyntävaihe.