fox edited this page 2 months ago



I managed to lock myself out of tt-rss

This assumes you can't simply reset your password via email (login form - forgot my password).

If you have OTP (2FA) enabled and know your password but can't provide an OTP token, you can disable OTP via SQL:

UPDATE ttrss_users SET otp_enabled = false WHERE login = 'you'

If you don't remember your password run the following query:

UPDATE ttrss_users 
    SET pwd_hash = 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8', salt = '', otp_enabled = false
    WHERE login = 'you'

This sets your password back to default (password) and disables OTP.

I have HTTP authentication enabled and get “Your access level is insufficient to run this script” error on login

The problem is that if you have auth_remote enabled in config.php tt-rss tries to automatically log you in as the user specified by the server using HTTP authentication, which may not have administrative privileges.

You will need to either temporarily disable auth_remote (replace it with auth_internal in config.php), temporarily disable HTTP authenticati on, or give yourself administrative permissions using SQL client:

    update ttrss_users set access_level = 10 where login = 'you';


I'm using lastpass and stuff is broken

Lastpass arbitrarily breaks tt-rss forms preventing stuff like saving settings from functioning properly.

UI is missing CSS or is otherwise visibly broken

  • Try opening tt-rss using a clean browser profile or an incognito window (a different browser would also work)
  • Unless you're using SSL, try a different network connection in case your ISP is MITMing you
  • Some values of Content-Security-Policy header may break tt-rss, if you have this header set in your httpd config, try disabling it temporarily
  • Check for any files in (tt-rss)/themes not known to Git (especially default.php or default.css - formerly default CSS themes for tt-rss, now removed), try temporarily removing all third party themes from themes.local

See also:

Third party theme broke after update making the UI unusable

You can open tt-rss with ignore-theme URL parameter to temporarily force default theme:


Alternatively, either delete or rename offending CSS file in themes.local.


What should I use - MySQL or PostgreSQL?

tt-rss is developed with PostgreSQL in mind, MySQL support is an afterthought.

If possible, consider using PostgreSQL for tt-rss. MySQL is supported but some minor features may be exclusive to Postgres and you're going to see worse performance (because InnoDB is slow).

MySQL/MariaDB is complaining about SQL errors in counters.php


I want to migrate my data but I can't use a database dump

One common use case for this is moving from MySQL to PostgreSQL.

If you don't want to migrate your stored articles, export and import your feeds via OPML, which would also migrate your tt-rss settings and filters.

If you want to migrate your articles, use this plugin: https://git.tt-rss.org/fox/ttrss-data-migration/wiki

Schema upgrade fails on MySQL 5.7 (and newer)

Error message: Invalid default value for 'last_updated'

See this thread/post for instructions: https://tt-rss.org/oldforum/viewtopic.php?f=1&t=3871&p=22884#p22884


Feeds stop updating for users who rarely login

See this thread: https://tt-rss.org/oldforum/viewtopic.php?f=1&t=2909&p=23459#p17145

I have used update daemon before, but switched away from it. However, the UI keeps nagging me about the daemon not running or not updating feeds or whatever.

Find and delete daemon lock file in LOCK_DIRECTORY. Usually, it’s lock/update_daemon.lock. You can also remove update_daemon.stamp.

I have questions about article purging / I don't think purging works.

In short, you may and will see articles with date older than the cutoff for purging. Here’s why:

  • starred articles are not purged;
  • purging is done based on import date internal to tt-rss which could be different from the timestamp specified by the feed (i.e. article says it was published on 01-01-1970 but it was imported today);
  • tt-rss bumps import date every time article is encountered in the feed, otherwise it will get purged and imported again on every feed update causing constantly reappearing duplicates;
  • purging is performed after feed was updated hence disabled updates = no purging;

Please see these forum threads for more information:

You can see article import date if you mouse over displayed date in tt-rss web UI.

Related question:

I archive or delete articles manually and I get duplicates. Why?

Because the articles are still in the feed XML and get pulled in (again) on next feed update.

See also: ArchivedFeed


I need an URL I can call to subscribe to feed to integrate with some third party browser extension/application.


If feed URL is empty (or not given) tt-rss will display feed subscription dialog.

I want to check how tt-rss renders my feed / the feed I'm trying to use is parsed incorrectly

You can run any RSS/Atom feed through tt-rss parser here: https://fakecake.org/myfeedsucks/

See this thread for more information / feedback: https://community.tt-rss.org/t/my-feed-doesnt-parse-properly-or-does-it-myfeedsucks/30

I need to get the number of unread articles in the simplest way.


No password required. In single user mode, use “admin” for login.