Default config values
Reference list of CrossWatch config.json
This page lists the defaults that users actually tune.
It intentionally hides connection fields.
Full schema: Configuration (config.json)
Runtime-generated defaults (good to know)
Some defaults are written on load/save:
versionis stamped to the running app version (leadingvremoved).security.webhook_ids.*can be auto-generated if missing.ui._autogenis added on first run only.
Normalization rules are documented in: Configuration (config.json)
Safe global defaults (sync engine)
These are the “don’t surprise me” defaults.
sync.enable_add:truesync.enable_remove:falsesync.one_way_remove_mode:source_deletessync.verify_after_write:falsesync.dry_run:falsesync.drop_guard:falsesync.allow_mass_delete:truesync.tombstone_ttl_days:1sync.include_observed_deletes:true
Blackbox defaults:
sync.blackbox.enabled:truesync.blackbox.promote_after:1sync.blackbox.cooldown_days:30sync.blackbox.block_adds:truesync.blackbox.block_removes:true
Runtime and performance defaults
These control logging and how writes are chunked.
runtime.debug:falseruntime.debug_http:falseruntime.debug_mods:falseruntime.snapshot_ttl_sec:300runtime.apply_chunk_size:100runtime.apply_chunk_pause_ms:50runtime.apply_chunk_size_by_provider.SIMKL:500runtime.apply_chunk_size_by_provider.MDBLIST:500runtime.suspect_min_prev:20runtime.suspect_shrink_ratio:0.1
Scheduling defaults
scheduling.enabled:falsescheduling.mode:every_n_hoursscheduling.every_n_hours:12scheduling.daily_time:03:30
Advanced schedule:
scheduling.advanced.enabled:falsescheduling.advanced.jobs:[]
Scrobble (Watcher) defaults
scrobble.enabled:falsescrobble.mode:watch
Watcher behavior:
scrobble.watch.autostart:falsescrobble.watch.pause_debounce_seconds:5scrobble.watch.suppress_start_at:99
Progress rules (used by sinks):
scrobble.trakt.progress_step:25scrobble.trakt.stop_pause_threshold:80scrobble.trakt.force_stop_at:95scrobble.trakt.regress_tolerance_percent:5
UI defaults
ui.show_watchlist_preview:trueui.show_playingcard:trueui.show_AI:trueui.protocol:http
TLS defaults:
ui.tls.self_signed:trueui.tls.hostname:localhostui.tls.valid_days:825
Provider tuning defaults
Plex
HTTP:
plex.timeout:10.0plex.max_retries:3
Workers:
plex.rating_workers:12plex.history_workers:12
History:
plex.history.include_marked_watched:trueplex.history.libraries:[](empty means all)
Ratings:
plex.ratings.libraries:[](empty means all)
Watchlist:
plex.watchlist_page_size:100plex.watchlist_query_limit:25plex.watchlist_write_delay_ms:0plex.watchlist_title_query:trueplex.watchlist_use_metadata_match:trueplex.watchlist_guid_priority:["tmdb","imdb","tvdb","agent:themoviedb:en","agent:themoviedb","agent:imdb"]
Jellyfin / Emby
HTTP:
*.timeout:15.0*.max_retries:3
Scrobble library whitelist:
*.scrobble.libraries:[](empty means all)
Watchlist emulation:
*.watchlist.mode:favorites*.watchlist.playlist_name:Watchlist*.watchlist.watchlist_query_limit:25*.watchlist.watchlist_write_delay_ms:0*.watchlist.watchlist_guid_priority:["tmdb","imdb","tvdb","agent:themoviedb:en","agent:themoviedb","agent:imdb"]
History:
*.history.history_query_limit:25*.history.history_write_delay_ms:0*.history.history_guid_priority:["tmdb","imdb","tvdb","agent:themoviedb:en","agent:themoviedb","agent:imdb"]*.history.libraries:[](empty means all)
Ratings:
*.ratings.ratings_query_limit:2000*.ratings.libraries:[](empty means all)
Trakt
HTTP:
trakt.timeout:10trakt.max_retries:5
Rate limiting:
trakt.rate_limit.get_per_sec:3.33trakt.rate_limit.post_per_sec:1
Watchlist:
trakt.watchlist_use_etag:truetrakt.watchlist_shadow_ttl_hours:168trakt.watchlist_batch_size:100trakt.watchlist_log_rate_limits:truetrakt.watchlist_freeze_details:true
Ratings:
trakt.ratings_per_page:100trakt.ratings_max_pages:50trakt.ratings_chunk_size:100
History:
trakt.history_per_page:100trakt.history_max_pages:10000trakt.history_unresolved:falsetrakt.history_number_fallback:false
SIMKL
simkl.date_from:""(optional backfill start,YYYY-MM-DD)
Rate limiting:
simkl.rate_limit.get_per_sec:10simkl.rate_limit.post_per_sec:1
MDBList
HTTP:
mdblist.timeout:10mdblist.max_retries:3
Rate limiting:
mdblist.rate_limit.get_per_sec:10mdblist.rate_limit.post_per_sec:1
Watchlist:
mdblist.watchlist_shadow_ttl_hours:0mdblist.watchlist_shadow_validate:truemdblist.watchlist_page_size:200mdblist.watchlist_batch_size:100mdblist.watchlist_freeze_details:true
Ratings:
mdblist.ratings_per_page:200mdblist.ratings_max_pages:50mdblist.ratings_chunk_size:500mdblist.ratings_write_delay_ms:600mdblist.ratings_max_backoff_ms:8000
History:
mdblist.history_per_page:1000mdblist.history_max_pages:250mdblist.history_chunk_size:500mdblist.history_write_delay_ms:600mdblist.history_max_backoff_ms:8000
TMDb metadata
metadata.locale:en-USmetadata.ttl_hours:6
TMDb (Sync)
tmdb_sync.timeout:15.0tmdb_sync.max_retries:3
Tautulli (history import)
HTTP:
tautulli.timeout:10.0tautulli.max_retries:3
History paging:
tautulli.history.per_page:100tautulli.history.max_pages:5000
CrossWatch (local provider)
crosswatch.root_dir:/config/.cw_providercrosswatch.enabled:truecrosswatch.retention_days:30crosswatch.auto_snapshot:truecrosswatch.max_snapshots:64crosswatch.restore_watchlist:latestcrosswatch.restore_history:latestcrosswatch.restore_ratings:latest
Last updated
Was this helpful?