Troubleshooting
Authentication Issues
”Token has expired”
The OAuth token needs to be refreshed. Delete the token and re-authenticate:
rm ~/.cal-token.jsontimeotter“Access Denied” during OAuth
- Make sure you added your email as a test user in Google Cloud Console
- Click Advanced → Go to TimeOtter (unsafe) to proceed
”Invalid credentials”
Verify your credentials file exists and is valid:
cat ~/.cal-credentials.jsonIf missing or corrupt, re-download from Google Cloud Console.
Calendar Issues
No Events Found
- Check that
CalendarIDis correct in your config - Verify you have upcoming events in your calendar
- Try using
"primary"as the CalendarID
Wrong Calendar
Find your calendar ID:
- Open Google Calendar
- Click the three dots next to your calendar
- Select Settings and sharing
- Scroll to Integrate calendar
- Copy the Calendar ID
Cron Issues
TimeOtter Not Running Automatically
-
Check cron is running:
Terminal window systemctl status cron -
Verify the cron entry:
Terminal window crontab -l -
Check cron logs:
Terminal window grep CRON /var/log/syslog
Events Not Triggering
- Verify the marker comment is in your crontab
- Run
timeottermanually to see generated entries - Check that event times are in the future
”Command not found” in Cron
Cron uses a limited PATH. Use the full path to timeotter:
0 * * * * /home/user/go/bin/timeotterOr to your command:
CmdToExec = "/usr/bin/mpv ~/alarm.mp3"Configuration Issues
Config File Not Found
Create the config directory and file:
mkdir -p ~/.config/timeottertouch ~/.config/timeotter/config.tomlInvalid TOML Syntax
Check your config for common issues:
- Strings must be quoted:
CalendarID = "email@gmail.com" - No trailing commas
- Use
=not:
Validate your TOML:
cat ~/.config/timeotter/config.tomlCommand Issues
Command Not Executing
-
Test the command manually:
Terminal window mpv ~/alarm.mp3 -
Check file permissions
-
Use absolute paths in
CmdToExec
Audio/Video Not Playing
Cron runs without a display. For GUI commands:
CmdToExec = "DISPLAY=:0 mpv ~/alarm.mp3"For audio:
CmdToExec = "paplay ~/alarm.wav"Getting Help
If you’re still stuck:
- Check GitHub Issues
- Open a new issue with:
- Your config file (redact sensitive data)
- Error messages
- Steps to reproduce