Skip to content
CLI docs

Troubleshooting

Solutions for common issues when using skene.

LM Studio

Context length error

Error code: 400 - {'error': 'The number of tokens to keep from the initial prompt is greater than the context length...'}

The model's context length is too small for the analysis. To fix:

  1. In LM Studio, unload the current model
  2. Go to Developer > Load
  3. Click on Context Length: Model supports up to N tokens
  4. Set it to the maximum supported value
  5. Reload to apply changes

Reference: lmstudio-ai/lmstudio-bug-tracker#237

Connection refused

Ensure:

  • LM Studio is running
  • A model is loaded and ready
  • The server is running on the default port (http://localhost:1234)

For a custom port:

export LMSTUDIO_BASE_URL="http://localhost:8080/v1"

Ollama

Connection refused

Ensure:

  • Ollama is running (ollama serve)
  • A model is pulled and available (ollama list)
  • The server is on the default port (http://localhost:11434)

Getting started with Ollama:

# Pull a model
ollama pull llama3.3

# Start the server (usually runs automatically after install)
ollama serve

For a custom port:

export OLLAMA_BASE_URL="http://localhost:8080/v1"

API key issues

Missing API key

When running the CLI, analyse-journey requires a configured LLM. Cloud providers need an API key; local providers (lmstudio, ollama, generic) do not. Set your key using one of:

# CLI flag
uvx skene analyse-journey . --api-key "your-key"

# Environment variable
export SKENE_API_KEY="your-key"

# Config file (interactive)
uvx skene config

Wrong provider for API key

Make sure the API key matches the provider. An OpenAI key won't work with --provider gemini.

Provider issues

Unknown provider

Valid provider names:

  • openai
  • gemini
  • anthropic or claude
  • lmstudio, lm-studio, or lm_studio
  • ollama
  • generic, openai-compatible, or openai_compatible

Generic provider: missing base URL

The generic provider requires a base URL:

uvx skene analyse-journey . --provider generic --base-url "http://localhost:8000/v1" --model "your-model"

Or set via environment variable:

export SKENE_BASE_URL="http://localhost:8000/v1"

File not found errors

Wrong bundle when running from another directory (push, journey)

If output_dir is not set in config, Skene picks ./skene-context vs ./skene by looking for those folders under the project path you pass to the command (for example skene push ./my-repo), not necessarily your shell's current directory.

If artifacts are still not found, set output_dir in .skene.config or SKENE_OUTPUT_DIR, or pass explicit paths (for example skene analyse-journey -o ./skene/journey.yaml on legacy-only trees).

See configuration: sticky output directory.

Rate limit errors

When a provider returns a rate limit error, skene falls back to a cheaper model. This keeps the workflow moving but means the output was generated by a different model than configured.

If you need output from a specific model (e.g. during benchmarking), use --no-fallback:

uvx skene analyse-journey . --no-fallback

With --no-fallback, the CLI retries the same model with exponential backoff. If all 3 retries are exhausted, the command raises an error instead of switching models.

Push / upstream issues

"No token" error

If push says "No token", you need to authenticate first:

uvx skene login --upstream https://skene.ai/workspace/my-app

Or set the token via environment variable:

export SKENE_UPSTREAM_API_KEY="your-token"

Missing bundle files

push uploads existing files; it does not generate them. Check the resolved output directory and confirm it contains the journey or other artifacts you intend to publish. Engine metadata and trigger migrations are optional.

Push authentication failed (401/403)

Your token may have expired or be invalid. Log out and log in again:

uvx skene logout
uvx skene login --upstream https://skene.ai/workspace/my-app

Debug mode

Use --debug on any command to show diagnostic messages on screen and log all LLM input and output to ~/.local/state/skene/debug/:

uvx skene analyse-journey . --debug
uvx skene push --debug

Debug mode can also be enabled via environment variable or config:

export SKENE_DEBUG=true
# .skene.config
debug = true

The debug logs show the full prompts sent to the LLM and the complete responses, which is useful for diagnosing unexpected output or provider-specific issues.

The general log file is located at ~/.local/state/skene/skene.log.

Getting help