Your rating: None Average: 5 (41 votes)

Whisperfish is an advanced but unofficial Signal client. Whisperfish should be in a usable state for many users, but is still considered beta quality software; make sure to always have the latest version! Also, check our Wiki and feel free to contribute to it! Currently, mimimum supported SailfishOS version is 3.4. We intend to keep compatibility with 3.3 for as long as humanly possible.

Do not ever contact the Signal developers about a Whisperfish issue. You will annoy them and make them dislike us. Contact us instead (see below).

What to expect


If you had a pre-existing, working 0.5 installation with default settings, migration should be a breeze. Notably not working:

  • Creating groups, inviting new members, deleting members (planned for later)
  • Message quotes (the UI element is there, but the implementation currently lacks)
  • Many other UI features are just stubs at this point.
  • Whisperfish as secondary device, if you register Whisperfish, your previous registration (Android/iOS) gets disabled.

SailfishOS platform version notes and known issues

The intention is to keep as many versions of SailfishOS supported for as long as possible. Some versions show bugs specific to that SailfishOS version. If it is not possible to upgrade to the version mentioned below, you can use the workarounds mentioned here.

Currently highest tested SailfishOS version: SailfishOS 4.2

SailfishOS 3.x series

Bugs present in the Sailfish 3.x series

In principle, Whisperfish works on SailfishOS 3.3, except for registration.

Installation on SailfishOS 3.x

Since the release of SailfishOS 4.3, there has been an ABI-incompatible change between 3.x and 4.x. Whisperfish is now built separately for 3.x and 4.x, and both packages are available in this repository. If Storeman cannot figure out the correct version for your 3.x installation, you can install Whisperfish via the commandline (after adding the repository):

zypper install harbour-whisperfish-0.6.0.beta.7-0.sf3.armv7hl

SailfishOS 4.x series

The Sailfish 4.x series introduced a few issues, and possibly new features; notably:

  • Registration on SailfishOS EA. The rendering of a reCAPTCHA does not work in any of the available webviews. This will be fixed in the next SailfishOS release. Meanwhile, use this patch which will be offered to you as an update after enabling this OpenRepos repository. Install the update and then register. Do not install it on any other version than SailfishOS 4.0, there's no need. If it still doesn't work, run zypper ref ; zypper dup -r openrepos-rubdos on the command line as root and accept the update of the three webview packages.
  • Especially SailfishOS 4.2 required a major change in the event loop structure. Make sure you use Whisperfish 0.6.0-beta.6 or later.

Contribute: get in touch, report issues and translate!



If the app behaves strangely or slow (I have a strong dislike for slow software) to you, please get in touch on Matrix #whisperfish:rubdos.be or on Libera.Chat #whisperfish, file an issue, or send an email to whisperfish [at] rubdos [dot] be, or post on the SailfishOS Forum topic. If it works well already, alse let me know! That's good for morale.

Development and progress


Follow the progress of the rework in the 0.6 milestone on Gitlab. If you are interested in contributing, contact me on Gitlab. If you want to discuss development, join the discussion on Matrix #whisperfish:rubdos.be.

There are nightly builds (in form of RPM) available on Gitlab. Nighlies eat batteries for breakfast, break up with your girlfriend, and use magic to turn phones into bricks. If you want to use them, please come and chat on Matrix or IRC. Whenever there is a version that makes sense, and has a low probability of tearing apart the very fabric of the universe, it'll be here on Open Repos!



Thanks for the support, feel free to buy me a coffee! Liberapay allows for donations via PayPal or credit card. While I do appreciate the donations, please consider matching your donation towards Signal themselves. They need it more than I do, now more than ever! Also consider donating to Weblate, because they provide their translation hosting service to us and many other SailfishOS applications at no cost!

License note

The original Whisperfish 0.5.0, by Andrew, was released under GPLv3+. Since we are using the upstream code of Signal themselves, partly licensed under AGPLv3+, the whole of Whisperfish 0.6.0 falls under AGPLv3+.

Application versions: 
File harbour-whisperfish-0.6.0-0.alpha_.1.armv7hl.rpm2.19 MB08/07/2020 - 11:14
File harbour-whisperfish-0.6.0-0.alpha_.1.i486.rpm2.34 MB08/07/2020 - 11:14
File harbour-whisperfish-0.6.0-0.alpha_.2.i486.rpm5.75 MB20/09/2020 - 18:58
File harbour-whisperfish-0.6.0-0.alpha_.2.armv7hl.rpm5.3 MB20/09/2020 - 18:58
File harbour-whisperfish-0.6.0-0.alpha_.3.i486.rpm6.33 MB01/11/2020 - 20:33
File harbour-whisperfish-0.6.0-0.alpha_.3.armv7hl.rpm5.78 MB01/11/2020 - 20:33
File harbour-whisperfish-0.6.0-0.alpha_.4.aarch64.rpm6.21 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.4.armv7hl.rpm6.17 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.4.i486.rpm6.75 MB17/11/2020 - 16:05
File harbour-whisperfish-0.6.0-0.alpha_.5.aarch64.rpm6.13 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.5.i486.rpm6.66 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.5.armv7hl.rpm6.1 MB21/11/2020 - 14:54
File harbour-whisperfish-0.6.0-0.alpha_.6.aarch64.rpm6.1 MB21/12/2020 - 18:34
File harbour-whisperfish-0.6.0-0.alpha_.6.i486.rpm6.62 MB21/12/2020 - 19:04
File harbour-whisperfish-0.6.0-0.alpha_.6.armv7hl.rpm6.07 MB21/12/2020 - 19:04
File harbour-whisperfish-0.6.0-0.alpha_.7.aarch64.rpm6.17 MB12/01/2021 - 12:38
File harbour-whisperfish-0.6.0-0.alpha_.7.i486.rpm6.68 MB12/01/2021 - 13:08
File harbour-whisperfish-0.6.0-0.alpha_.7.armv7hl.rpm6.14 MB12/01/2021 - 13:08
File harbour-whisperfish-0.6.0-0.alpha_.8.aarch64.rpm6.86 MB09/02/2021 - 13:11
File harbour-whisperfish-0.6.0-0.alpha_.8.i486.rpm7.45 MB09/02/2021 - 14:16
File harbour-whisperfish-0.6.0-0.alpha_.8.armv7hl.rpm6.74 MB09/02/2021 - 14:16
File harbour-whisperfish-0.6.0-0.alpha_.9.aarch64.rpm6.82 MB19/03/2021 - 12:11
File harbour-whisperfish-0.6.0-0.alpha_.9.i486.rpm7.42 MB19/03/2021 - 12:24
File harbour-whisperfish-0.6.0-0.alpha_.9.armv7hl.rpm6.72 MB19/03/2021 - 12:25
File harbour-whisperfish-0.6.0-0.beta_.1.aarch64.rpm5.55 MB25/04/2021 - 15:26
File harbour-whisperfish-0.6.0-0.beta_.1.i486.rpm5.91 MB25/04/2021 - 15:52
File harbour-whisperfish-0.6.0-0.beta_.1.armv7hl.rpm5.78 MB25/04/2021 - 15:52
File harbour-whisperfish-0.6.0-0.beta_.3.i486.rpm5.88 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.3.aarch64.rpm5.5 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.3.armv7hl.rpm5.69 MB07/06/2021 - 13:40
File harbour-whisperfish-0.6.0-0.beta_.4.i486.rpm6 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.4.armv7hl.rpm5.8 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.4.aarch64.rpm5.58 MB23/07/2021 - 16:31
File harbour-whisperfish-0.6.0-0.beta_.5.i486.rpm6.01 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.5.armv7hl.rpm5.79 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.5.aarch64.rpm5.59 MB28/07/2021 - 15:15
File harbour-whisperfish-0.6.0-0.beta_.6.armv7hl.rpm5.91 MB17/09/2021 - 10:23
File harbour-whisperfish-0.6.0-0.beta_.6.aarch64.rpm5.71 MB17/09/2021 - 10:23
File harbour-whisperfish-0.6.0-0.beta_.6.i486.rpm6.19 MB17/09/2021 - 10:23
File harbour-whisperfish-0.6.0.beta_.7-0.sf3_.armv7hl.rpm15.47 MB12/11/2021 - 15:52
File harbour-whisperfish-0.6.0.beta_.7-0.sf4_.aarch64.rpm15.25 MB12/11/2021 - 15:52
File harbour-whisperfish-0.6.0.beta_.7-0.sf4_.armv7hl.rpm15.49 MB12/11/2021 - 15:52
File harbour-whisperfish-0.6.0.beta_.7-0.sf4_.i486.rpm16.4 MB12/11/2021 - 15:52
File harbour-whisperfish-0.6.0.beta_.7-0.sf3_.aarch64.rpm15.25 MB12/11/2021 - 17:31

Whisperfish 1.0.0 (planned)

The milestone on GitLab for this release (th

Many big plans!

Whisperfish 0.6.0 (planned)

The milestone on Gitlab for this release


  • Feature parity with, and modernized version of Whisperfish 0.5.

Whisperfish 0.6.0-beta.7

Edition "omg OpenSSL".


Whisperfish 0.6.0-beta.6

Edition "invert the event loop". Write-up here: https://github.com/woboq/qmetaobject-rs/issues/102#issuecomment-919798690




Whisperfish 0.6.0-beta.5


  • Reception of messages with attachments, but without accompanying text
  • Show contact/payment/deletion/group call update messages as "unimplemented" instead of empty.

Whisperfish 0.6.0-beta.4


  • MyBackup compatibility, thanks to Nathan!
  • Display group changes and message timer changes in chat.


  • Fix usage of configured attachment path
  • Fix the many empty messages sent by Android and iOS clients for profile key pushes


  • Add Lithuanian, by Gediminas Murauskas
  • Updates to Greek, French, Turkish, Dutch, and Vlaams. Thanks to all contributors!

Whisperfish 0.6.0-beta.3

Emergency release for the HTTP-500 "nothing can be send" bug and the BadKeyType bug.


Whisperfish 0.6.0-beta.2 (yanked)

Emergency release for the HTTP-500 "nothing can be send" bug.



Whisperfish 0.6.0-beta.1

The milestone on Gitlab for this release



  • We have a Weblate account now!
  • Portuguese translation, thanks to Yield and Antonio Maretzek!
  • Czech translation, thanks to PawelSpoon!
  • Turkish translation, thanks to Oğuz Ersen!
  • Nowegian translation, thanks to Allan Nordhøy!
  • Many, many, many, MANY cleanup operations on Dutch, German, French, and Spanish, thanks to Nathan, Dryo, and J. Lavoie!


  • More stable reconnection management. Flight mode and network changes should now work as expected.
  • Access contacts through the Nemo QML interface instead of raw contacts.db. This interface will probably be more stable than the raw SQLite, and keeps compatibility across 3.x and 4.x.
  • A "privileged file" allows us to read contact lists again on SailfishOS 4.0
  • More or less fixed video playback
  • Fix lingering notifications on session activation, thanks to flypig!
  • JPEG rotation is now correct in Whisperfish (but not yet on Android), thanks to Mirian Margiani.
  • Image zoom is more intuitive for images that are almost the same size as the screen, thanks to Mirian Margiani.

Whisperfish 0.6.0-alpha.9

Fixes startup on upgraded contact database.

Whisperfish 0.6.0-alpha.8


Whisperfish 0.6.0-alpha.7



  • Create the correct attachments download directory, should fix attachments downloading for new installations.
  • Some phone numbers (notably with dashes, parantheses or dots) did not show up with names.
  • New members in a group show up, group renames come through.
  • Group members show up as names, not phone numbers, thanks to Thomas Michel.
  • Fixes copying message to clipboard, thanks to Thomas Michel.
  • Auto-focus password field, thanks to Markus.

Whisperfish 0.6.0-alpha.6


  • The conversation page got a complete overhaul in design. I hope you like it.


  • Fix a race condition during registration, which may corrupt the settings file.
  • Sent messages update the session view
  • More names show up correctly in session view (please file an issue if it's still buggy!)
  • Session sections
  • Sent attachments show up as thumbnails
  • Some translation work in the (currently disfunctional) Device List page

Whisperfish 0.6.0-alpha.5


  • Sending new messages to a single contact, clean-up of contact selection
  • Started French language translation
    • French translation finished (thanks Thibaut Vandervelden)
  • Spanish translation got a lot of clean-up (thanks carlosgonz)
  • Settings page looks a lot nicer


  • Settings page revamped, looks a lot cleaner
  • attachment_dir was not set on settings init.
  • Contact DB fix for non-nemo users (new 3.4 installs, alternate users)
  • Show build ID in about screen
  • Notifications with vibration and sound

Whisperfish 0.6.0-alpha.4

The milestone on Gitlab for this release


Under the hood:

  • Partial support new UUID-based identifiers
  • Initial tooling for future database migrations
  • Pre-key refreshing
  • Attachment failure log (set attachment_log=true in harbour-whisperfish.conf)

Whisperfish 0.6.0-alpha.3

The milestone on Gitlab for this release

  • Sending direct and group messages, notably no attachments.

Whisperfish 0.6.0-alpha.2

The milestone on Gitlab for this release

  • Receiving messages and their attachments

Whisperfish 0.6.0-alpha.1

The milestone on Gitlab for this release

  • GUI performance improvement


rubdos's picture

Hi, please run those commands again, and then start Whisperfish from command line and provide me with the logs that you have then.

explit's picture

ultuser@XA2P-H4493 ~]$ harbour-whisper
[2021-07-24T21:30:28Z ERROR harbour_whisper
fish] Did not receive a reply. Possible cau
ses include: the remote application did not
send a reply, the message bus security pol
icy blocked the reply, the reply timeout ex
pired, or the network connection was broken
[defaultuser@XA2P-H4493 ~]$

rubdos's picture

Interesting. Did you try rebooting your phone after the update? It looks to me like you were using daemon mode/background mode, and Whisperfish is still running in the background, albeit unresponsive.

explit's picture

New version doesnt start after update.

uddghsjauszg's picture

oh okay haha

uddghsjauszg's picture

Hello, I've tried all the newer releases on my xperia 10 running sfos 4
1.0.24 and I am currently experiencing some bugs. First of all sometimes I get a ,,this message is empty '' message after every sent message. Second the messages are sometimes only sent to people who have the ios version of signal (not 100% sure about this) and sometimes the messages aren't even sent to anyone. Also how can I log out and log in with an other account? Tried reinstalling but I'm still logged in.

rubdos's picture

"This message is empty" is a known issue. This will be fixed in an upcoming version.

Please never downgrade a Whisperfish version. It probably partially broke your installation. To fix messages not getting sent, I suggest you install Signal Desktop, then go to the affected contacts one by one, and use the "Reset session" function.

At this point, using multiple accounts is not possible from within Whisperfish. You can manually stash and manage the config and share directories, but that is error-prone.

monkeyisland's picture

Yes i can confirm that it is working on Xperia c also Jolla c under Great thank your for your awesome work

rubdos's picture

There's currently an issue with sending messages that's affecting literally every Whisperfish user. https://gitlab.com/whisperfish/whisperfish/-/issues/356

I'm working on it.

rubdos's picture

Beta 3 should work again :-)

drakegao's picture

Cant pass the phone registration page. Stuck on the sending verification code...

rubdos's picture

You probably have registration lock enabled, please check Whisperfish crashes right after filing the CAPTCHA and let me know if that didn't fix it!

behem0thUK90's picture

Hey, I have downloaded the app looks great. i can receive messages fine but i am unable to send messages. (they show as you would expect but the recepients dont receive them)  any ideas?

rubdos's picture

It's a new issue: https://gitlab.com/whisperfish/whisperfish/-/issues/356

We currently believe it's a server-side bug, which has been fixed yesterday, and is being rolled out. I suggest you try sending some messages again today and tomorrow, and let me know if it's still bad!

behem0thUK90's picture

ahhh no worries i'll give it another shot. thanks for the update i appreciate it.

zipotron's picture

Hello! Installed suscesfully in Xperia 10 II, just I wanted to suggest, I wont ask for the call feature, seems not trivial to implement, but, audio messages I guess is easier to implement and is something really valuable for the users! Anyway, thanks a lot for the app, is amazing. (also share location could be good)

rubdos's picture

Ahoy, thanks for the feedback and the kind words!

Location sharing is a new request, added it: https://gitlab.com/whisperfish/whisperfish/-/issues/357, playing voice notes (https://gitlab.com/whisperfish/whisperfish/-/issues/289) and sending them (https://gitlab.com/whisperfish/whisperfish/-/issues/252) was already on the list. And audio and video calling as well https://gitlab.com/groups/whisperfish/-/epics/4 !

If you have a Gitlab.com account, please use the upvote button :-)

Rene666's picture

Hello, the app works with Xperia 10 II. I tried to install the file, unfortunately it doesn't work.

rubdos's picture

You have installed the aarch64 version through OpenRepos, and it doesn't work, is that correct?

If it doesn't start at all, can you run the app via CLI (`harbour-whisperfish --verbose`), and let me know what it outputs? If it starts, then can you explain what goes wrong? I don't have an aarch64 device, so can't really test. I'm upgrading to 4.1 now, to see whether it's a 4.1 issue or an aarch64 issue.

Rene666's picture

I have now installed from Storeman, it is running.

rubdos's picture

Good to read that. Enjoy Whisperfish and SIgnal! :-)

zipotron's picture

Hi, first of all thanks for the effort of porting Signal. I write because I got an error in this version setting the account, is just after setting the phone number and push the button for require the SMS, then appears and error showing and white screen with a text saying something about capcha  display error, and is not possible to go forward...

rubdos's picture

You need this patch on SailfishOS 4.0: https://openrepos.net/node/11303/

melvin's picture

The app "crashes" (shows the inbuilt error page) with the following error in the console after successfully finishing the captcha and the SMS code input:

[2021-04-26T18:46:48Z ERROR harbour_whisperfish::worker::setup] Error in registration: Unexpected response: HTTP 423
[D] expression for onClientFailed:167 - [FATAL] client failed
[D] onCompleted:23 - [FATAL] error occurred: Failed to setup Signal client
[2021-04-26T18:46:52Z ERROR harbour_whisperfish::sfos::tokio_qt] unregisterTimers
[2021-04-26T18:46:52Z ERROR harbour_whisperfish::sfos::tokio_qt] unregisterSocketNotifier: fd=45
greHome from GRE_HOME:/usr/bin
libxul.so is not found, in /usr/bin/libxul.so

I've verified that /usr/lib/xulrunner-qt5-60.9.1/libxul.so exists so I thought that GRE_HOME must be wrong (why should a lib be in /usr/bin/ anyway) - changing the environment variable doesn't help though. Symlinking the lib to /usr/bin/libxul.so doesn't fix the error either and prints the error "couldn't load xpcom from libxul.so".

I've never changed any default installations and especially didn't edit/move/remove some random libraries. Is this error even related to the libxul not found error or does the app crash due to the HTTP unexpected response (423) error? Please help me, I'd love to use this app!

Thanks for this awesome app anyways!

Btw: I'm using the Xperia X with SFOS and with your captcha workaround applied.

rubdos's picture

You dug too deep, the error is in the 423. https://gitlab.com/rubdos/whisperfish/-/issues/148

You've bounced on a registration lock: your Android or iOS official app is blocking a re-registration as long as you don't provide the pin (and for that, we miss some logic and the UI). Luckily, the workaround is easy!


  • Wait 7 days, or;
  • Disable the registration lock on the old device in the Settings menu of the Signal app.
wosrediinanatour's picture

How/where can the registration lock be disabled in the official app?

rubdos's picture

For Android, this seems to be Setting -> Privacy -> Registration lock,

and for iOS this is seemingly Account -> Signal PIN -> Registration lock.

Good luck!

melvin's picture

Okay thanks, I'll try this workaround!

rubdos's picture

Just to make sure you understood me well: these are two separate workarounds, you can either way seven days, or you can turn off the lock in Android/iOS.

monkeyisland's picture

Great work i am using the app since version 0.5.1 from andrew bruno