Skip to content

Debugging

Capture raw prompts, responses, and troubleshoot issues.

import { HookPresets } from 'llmist';
// Full monitoring
.withHooks(HookPresets.monitoring({ verbose: true }))
// Specific debugging
.withHooks(HookPresets.logging({ verbose: true }))
.withHooks(HookPresets.errorLogging())
.withHooks(HookPresets.timing())
SymptomRecommended Preset
Agent not respondingmonitoring()
Unexpected behaviorlogging({ verbose: true })
High coststokenTracking()
Errors/crasheserrorLogging()
Slow performancetiming()
.withHooks({
observers: {
onLLMCallStart: async (ctx) => {
console.log('Model:', ctx.options.model);
console.log('Messages:', ctx.options.messages);
},
onLLMCallComplete: async (ctx) => {
console.log('Response:', ctx.rawResponse);
console.log('Tokens:', ctx.usage);
},
},
})
.withHooks({
observers: {
onGadgetExecutionStart: async (ctx) => {
console.log(`[${ctx.gadgetName}] Starting`);
console.log('Parameters:', ctx.parameters);
},
onGadgetExecutionComplete: async (ctx) => {
console.log(`[${ctx.gadgetName}] ${ctx.executionTimeMs}ms`);
if (ctx.error) console.error('Error:', ctx.error);
},
},
})

For detailed logger configuration, see Logging Reference.

import { createLogger } from 'llmist';
const logger = createLogger({ minLevel: 'debug' });
.withLogger(logger)
Terminal window
bunx @llmist/cli complete "test" --model haiku 2>&1 | tee debug.log
bunx @llmist/cli agent "test" --gadget ./tool.ts 2>&1