Skip to content

Troubleshooting

  1. Run /sp status. If the mode is manual or off, that selection wins over bindings; run /sp auto. If it shows SP: auto (none), nothing matched the current model.
  2. Run /sp validate to see configuration problems.
  3. Check that selection is not off and that defaultProfile points at an existing profile.
  4. Match rules compare provider and model literally, with * as the only wildcard. /sp status shows the active model: for openrouter serving anthropic/claude-x, bind provider openrouter and model anthropic/claude-x, not openrouter/anthropic/claude-x.
  5. Run /sp reload after editing files on disk.
  • The file must be profiles/<id>.md, with a safe id and the .md extension.
  • A project file is listed only when the project is trusted.
  • A profile whose body contains a reserved managed-block marker is skipped with a diagnostic, so it cannot corrupt the prompt.

If two bindings with the same priority and the same specificity point at different profiles, the extension reports a conflict and applies no binding from that scope. Adjust priority or make one rule more specific.

An extension that returns its own complete systemPrompt after this one, rather than appending to the value it received, replaces the prompt and can drop the block; appending extensions keep it in either load order. There is no priority field on events. Use /sp preview and the last payload observation to confirm what happened.

The extension refuses to write when the file changed on disk since it was read. Run /sp reload and try again.

Run /sp why and /sp preview, then open an issue with the Pi version, your operating system and the exact output. Remove private text before posting. Security problems follow SECURITY.md.