Troubleshooting¶
Common issues and their solutions.
Installation Issues¶
"command not found: inkwell"¶
Cause: Inkwell is not in your PATH.
Solutions:
-
If installed with uv:
-
If installed from source:
-
Ensure uv bin directory is in PATH:
"ffmpeg not found"¶
Cause: ffmpeg is not installed.
Solutions:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get install ffmpeg
# Windows (Chocolatey)
choco install ffmpeg
Verify: ffmpeg -version
"Python 3.10+ required"¶
Cause: Python version too old.
Solution:
# Check version
python --version
# Install newer Python
# macOS
brew install python@3.11
# Ubuntu
sudo apt-get install python3.11
API Key Issues¶
"GOOGLE_API_KEY not set"¶
Cause: Google AI API key not configured.
Solutions:
-
Via CLI (recommended):
-
Via environment:
Get a key: Google AI Studio
"ANTHROPIC_API_KEY not set"¶
Cause: Anthropic API key not configured (needed for interview mode).
Solution:
Get a key: Anthropic Console
"Invalid API key"¶
Cause: API key is incorrect or expired.
Solutions:
- Verify the key is correct (no extra spaces)
- Generate a new key from the provider console
- Check API key permissions/quotas
Feed Issues¶
"Feed already exists"¶
Cause: A feed with that name already exists.
Solutions:
-
Use a different name:
-
Remove existing feed first:
"Feed not found"¶
Cause: No feed with that name exists.
Solution:
# List available feeds
inkwell list
# Use correct name from list
inkwell fetch correct-name --latest
"Failed to fetch RSS feed"¶
Cause: Network error or invalid URL.
Solutions:
- Verify the URL is correct
- Check your internet connection
- Try the URL in a browser
- For private feeds, use
--auth
Processing Issues¶
"Failed to transcribe episode"¶
Possible causes:
-
Network timeout:
Solution: Check internet connection and retry. -
No YouTube transcript:
Solution: Gemini fallback should trigger automatically. EnsureGOOGLE_API_KEYortranscription.api_keyis set. -
YouTube blocks cloud downloads:
Solution: For public YouTube URLs, Inkwell should try Gemini's URL fallback before audio download. Retry once, then check worker or CLI logs forTranscribing YouTube URL clip. -
Audio download failed:
Solution: Verify ffmpeg is installed. Check if URL is accessible.
"Episode directory already exists"¶
Cause: You've already processed this episode.
Solutions:
-
Use
--overwriteto replace: -
Delete manually:
"Invalid episode URL"¶
Cause: URL is not a valid podcast/YouTube URL.
Solution: Verify you're using a complete, valid URL:
- YouTube: https://youtube.com/watch?v=...
- Direct audio: https://example.com/episode.mp3
"Rate limit exceeded"¶
Cause: Too many API requests.
Solutions:
- Wait a few minutes and retry
- Use a different provider:
- Check your API quota in the provider console
Configuration Issues¶
"Invalid configuration"¶
Cause: config.yaml has invalid values.
Solution:
Fix the invalid values shown in the error message.
"YAML syntax error"¶
Cause: Malformed YAML in config file.
Common issues:
-
Bad indentation:
-
Missing quotes:
-
Tab characters: Use spaces only, not tabs.
Solution: Validate YAML online or use inkwell config edit to fix.
"Encryption key not found"¶
Cause: .keyfile is missing (needed for encrypted credentials).
Solution:
The keyfile is auto-generated. Don't delete it if you have encrypted credentials.
Interview Issues¶
"Interview session lost"¶
Cause: Session was interrupted and can't be found.
Solution:
"Interview cost too high"¶
Solutions:
-
Reduce question count:
-
Set cost limit in config:
Output Issues¶
"Wikilinks not working in Obsidian"¶
Cause: Obsidian wikilinks setting disabled.
Solution:
- Open Obsidian Settings
- Go to Files & Links
- Enable "Use [[Wikilinks]]"
"Dataview queries not working"¶
Cause: Dataview plugin not installed.
Solution:
- Open Obsidian Settings
- Go to Community plugins
- Browse and install "Dataview"
- Enable the plugin
"Frontmatter not parsed"¶
Cause: Malformed YAML frontmatter.
Solution: Check for:
- Proper --- delimiters at start and end
- No tabs (use spaces)
- Valid YAML syntax
Debug Mode¶
Enable verbose logging to troubleshoot issues:
# Set debug level
inkwell config set log_level DEBUG
# View logs
tail -f ~/.local/state/inkwell/inkwell.log
# Run command
inkwell fetch URL --latest
# Check logs for details
Getting Help¶
If you can't resolve an issue:
-
Check logs:
-
Search existing issues: GitHub Issues
-
Open a new issue with:
- Inkwell version (
inkwell version) - Python version (
python --version) - OS and version
- Full error message
- Steps to reproduce
- Relevant log output
Common Error Codes¶
| Code | Meaning | Common Cause |
|---|---|---|
| 1 | General error | Various - check message |
| 2 | Configuration error | Invalid config.yaml |
| 3 | Network error | Connection issues |
| 4 | API error | Invalid key or rate limit |