Internxt Drive (Utimate plan) not directly supported by RcloneView

As in topic, RcloneView (Plus license) don’t handle Internxt Drive directly, even if my plan is Ultimate (so RClone is supported), but works fine using installed RClone on Linux, end even on Android, using both RSAF and Round Sync (that give RClone support on Android).
More, on Linux, RcloneView then works but only after a successful login through installed RClone.
Else, on Linux, RcloneView accept my configuration “rclone.conf”, but when trying to mount, it fails.
On RcloneView on Android, it shows a grayed icon, and show also “Unsupported provider”.

Any advice?
Is a bug?

Hi @Paco1960, and welcome to the community — thanks for making your first post such a useful one.

Short answer: it’s a bug on our side, not your setup and not your Internxt plan. Your report gave us exactly the right clue, and we’ve reproduced and fixed it. Details below in case you’re curious, plus a workaround you can use today.

What was actually wrong

Internxt is already included in the rclone version RcloneView bundles — so “unsupported provider” was misleading. The real problem is how we were creating the remote.

Internxt needs a login handshake before it can be used: rclone signs in and stores a mnemonic in your config. That value can’t be typed in by hand — it only appears after a successful login. RcloneView was asking rclone to create the remote in a single step and treating any “OK” response as success. But rclone answers with questions during that handshake, and we were reading those questions as “done”. The result was a remote that looked created but had no mnemonic, which is why every operation on it failed — including mount:

Failed to create file system for "internxt:":
    mnemonic is required - please run: rclone config reconnect internxt:

That also explains your other two observations:

  • “works only after logging in through installed rclone” — the CLI runs the full handshake and writes the mnemonic, so RcloneView could then use the remote.
  • “RcloneView accepts my rclone.conf, but mount fails” — if the config has an Internxt entry without the mnemonic (including a leftover one from a failed attempt in RcloneView), it shows up in the list but nothing works. We also confirmed that when creation failed, rclone had already written a partial entry, so a broken section was being left behind.

Workaround until the fix ships

Run the login handshake once against the same config file RcloneView uses (Settings shows the path):

rclone --config "<path to the rclone.conf RcloneView uses>" config reconnect <your-remote-name>:

reconnect re-runs the login and fills in the mnemonic. If you have a leftover broken entry from an earlier attempt, this should repair it in place; if it doesn’t, delete that entry and create it fresh with the CLI.

One caveat worth knowing: editing an existing remote in RcloneView won’t repair a broken one — that path doesn’t run the login handshake either. We’re tracking that separately.

Status

The fix is implemented and currently in code review. It makes RcloneView carry rclone’s login conversation through to the end, prompt you for anything it asks (including 2FA), and clean up after itself if setup fails. It’s not just an Internxt fix — it applies to any backend with a login step.

I’d rather not guess at a release date while it’s still in review, but I’ll follow up here when it ships.

One thing that would help

If the mount failure persists after the reconnect workaround above, could you post the exact error? Our diagnosis says it should go away, but I’d like to confirm that rather than assume it.

Thanks again for the detailed write-up — the fact that you tested against the CLI, RSAF, and Round Sync is what made this quick to pin down.

Done as your intructions.
Internxt mount don’t works.

Here relevant lines from rcloneview_app.log

2026-08-07T10:09:58.104828 [info] mount: begin fs=internxt:/ mountPoint=/media/myhome/internxt cmdType=mount
2026-08-07T10:09:58.405328 [error] Failed to mount/mount. Status Code: 500, Response: { “error”: "panic received: runtime error: invalid memory address or nil pointer dereference \ngoroutine 494 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:26 +0x5e\``ngithub.com/rclone/rclone/fs/rc/jobs.(*Job).run.func1()\n\tgithub.com/rclone/rclone/fs/rc/jobs/job.go:112`` +0x3d\npanic({0x291b400?, 0x4e93200?})\n\truntime/panic.go:860 +0x13a\ntime.(*Timer).Stop(…)\n\ttime/sleep.go:114\``ngithub.com/rclone/rclone/lib/oauthutil.(*Renew).Shutdown.func1()\n\tgithub.com/rclone/rclone/lib/o…
2026-08-07T10:09:58.405489 [info] mount: result=failed via RC mountPoint=/media/myhome/internxtd

and from rclone.log

2026/08/07 10:09:58 ERROR : rc: "mount/mount": error: panic received: runtime error: invalid memory address or nil pointer dereference 
goroutine 494 [running]:
runtime/debug.Stack()
	runtime/debug/stack.go:26 +0x5e
github.com/rclone/rclone/fs/rc/jobs.(*Job).run.func1()
	github.com/rclone/rclone/fs/rc/jobs/job.go:112 +0x3d
panic({0x291b400?, 0x4e93200?})
	runtime/panic.go:860 +0x13a
time.(*Timer).Stop(...)
	time/sleep.go:114
github.com/rclone/rclone/lib/oauthutil.(*Renew).Shutdown.func1()
	github.com/rclone/rclone/lib/oauthutil/renew.go:90 +0x1f
sync.(*Once).doSlow(0x42239f?, 0x294fa20?)
	sync/once.go:78 +0xac
sync.(*Once).Do(...)
	sync/once.go:69
github.com/rclone/rclone/lib/oauthutil.(*Renew).Shutdown(0x4f50cb0?)
	github.com/rclone/rclone/lib/oauthutil/renew.go:88 +0x39
github.com/rclone/rclone/backend/internxt.(*Fs).Shutdown(0xc46907a4780, {0x2df86a0?, 0xc4690401808?})
	github.com/rclone/rclone/backend/internxt/internxt.go:839 +0x3b
github.com/rclone/rclone/fs/cache.createOnFirstUse.func1.1({0x2df86a0?, 0xc46907a4780?})
	github.com/rclone/rclone/fs/cache/cache.go:33 +0x50
github.com/rclone/rclone/lib/cache.(*Cache).Rename(0xc469020f7d0, {0xc46941d82c0, 0xa}, {0xc46941d8940, 0x9})
	github.com/rclone/rclone/lib/cache/cache.go:202 +0x102
github.com/rclone/rclone/fs/cache.GetFn({0x30d3470, 0x4f4f940}, {0xc46941d82c0, 0xa}, 0x3086e98)
	github.com/rclone/rclone/fs/cache/cache.go:121 +0x473
github.com/rclone/rclone/fs/cache.Get({0x30d35c0, 0xc46902a9740}, {0xc46941d82c0, 0xa})
	github.com/rclone/rclone/fs/cache/cache.go:183 +0x7b
github.com/rclone/rclone/fs/rc.GetFsNamed({0x30d35c0, 0xc46902a9740}, 0xc46941d82da?, {0x2e98c7a?, 0xc46941da510?})
	github.com/rclone/rclone/fs/rc/cache.go:38 +0x4f
github.com/rclone/rclone/fs/rc.GetFs(...)
	github.com/rclone/rclone/fs/rc/cache.go:111
github.com/rclone/rclone/cmd/mountlib.mountRc({0x30d35c0, 0xc46902a9740}, 0xc46902a9590)
	github.com/rclone/rclone/cmd/mountlib/rc.go:132 +0x5ae
github.com/rclone/rclone/fs/rc/jobs.(*Job).run(0xc4690cf2600, {0x30d35c0?, 0xc46902a9740?}, 0x4f4f940?, 0x2a8e920?)
	github.com/rclone/rclone/fs/rc/jobs/job.go:115 +0x5f
github.com/rclone/rclone/fs/rc/jobs.(*Jobs).NewJob(0x4ec9400, {0x30d35c0, 0xc46902a9290}, 0x3089b00, 0xc46902a9440)
	github.com/rclone/rclone/fs/rc/jobs/job.go:338 +0x6c5
github.com/rclone/rclone/fs/rc/jobs.NewJob(...)
	github.com/rclone/rclone/fs/rc/jobs/job.go:348
github.com/rclone/rclone/fs/rc/rcserver.(*Server).handlePost(0xc4690c100a0, {0x30cb710, 0xc46907a4690}, 0xc46941c8b40, {0xc46903ebe26, 0xb})
	github.com/rclone/rclone/fs/rc/rcserver/rcserver.go:285 +0xa26
github.com/rclone/rclone/fs/rc/rcserver.(*Server).handler(0xc4690c100a0, {0x30cb710, 0xc46907a4690}, 0xc46941c8b40)
	github.com/rclone/rclone/fs/rc/rcserver/rcserver.go:199 +0xd2
net/http.HandlerFunc.ServeHTTP(0x29b8c40?, {0x30cb710?, 0xc46907a4690?}, 0x1?)
	net/http/server.go:2286 +0x29
github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc4690c200c0, {0x30cb710, 0xc46907a4690}, 0xc46941c8b40)
	github.com/go-chi/chi/v5@v5.2.5/mux.go:479 +0x4fa
net/http.HandlerFunc.ServeHTTP(0xc46902a9230?, {0x30cb710?, 0xc46907a4690?}, 0xc469081d930?)
	net/http/server.go:2286 +0x29
github.com/rclone/rclone/fs/rc/rcserver.newServer.SetHeader.func5.1({0x30cb710, 0xc46907a4690}, 0xc46941c8b40)
	github.com/go-chi/chi/v5@v5.2.5/middleware/content_type.go:13 +0x9d
net/http.HandlerFunc.ServeHTTP(0xc46902a9230?, {0x30cb710?, 0xc46907a4690?}, 0x2e9c0c4?)
	net/http/server.go:2286 +0x29
github.com/rclone/rclone/fs/rc/rcserver.newServer.SetHeader.func4.1({0x30cb710, 0xc46907a4690}, 0xc46941c8b40)
	github.com/go-chi/chi/v5@v5.2.5/middleware/content_type.go:13 +0x9d
net/http.HandlerFunc.ServeHTTP(0xc46941c8a00?, {0x30cb710?, 0xc46907a4690?}, 0x308d668?)
	net/http/server.go:2286 +0x29
github.com/rclone/rclone/lib/http.MiddlewareAuthBasic.basicAuth.func2.1({0x30cb710, 0xc46907a4690}, 0xc46941c8a00)
	github.com/rclone/rclone/lib/http/middleware.go:73 +0x142
net/http.HandlerFunc.ServeHTTP(0x425514?, {0x30cb710?, 0xc46907a4690?}, 0xc46902a9260?)
	net/http/server.go:2286 +0x29
github.com/rclone/rclone/lib/http.MiddlewareCORS.func2.1({0x30cb710?, 0xc46907a4690?}, 0x4e97501?)
	github.com/rclone/rclone/lib/http/middleware.go:197 +0x407
net/http.HandlerFunc.ServeHTTP(0x30d35f8?, {0x30cb710?, 0xc46907a4690?}, 0x4e97500?)
	net/http/server.go:2286 +0x29
github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc4690c200c0, {0x30cb710, 0xc46907a4690}, 0xc46941c88c0)
	github.com/go-chi/chi/v5@v5.2.5/mux.go:90 +0x322
net/http.serverHandler.ServeHTTP({0x30bb2f0?}, {0x30cb710?, 0xc46907a4690?}, 0x1?)
	net/http/server.go:3311 +0x8e
net/http.(*conn).serve(0xc46942523f0, {0x30d35c0, 0xc4690ba3770})
	net/http/server.go:2073 +0x650
created by net/http.(*Server).Serve in goroutine 67
	net/http/server.go:3464 +0x485

I hope these informations are enough.

Hi @Paco1960 — that log was exactly what we needed, thank you.

Good news first: the workaround did work. Your remote has a valid mnemonic now. What you hit is a different bug, further down the line — rclone successfully built the Internxt filesystem and then crashed while tearing down a duplicate copy of it.

Here is what happens:

  1. RcloneView asks rclone to mount internxt:/ — with a trailing slash.
  2. rclone’s filesystem cache already holds an entry under internxt: — no slash — created when you browsed the remote in the app.
  3. Because the two strings differ, rclone builds a second Internxt filesystem, then immediately throws it away in favour of the cached one.
  4. Shutting that throwaway filesystem down microseconds after creating it trips a race in rclone’s OAuth token-renewal code: it stops an expiry timer that a background goroutine hasn’t created yet. Nil pointer → panic.

So there are two things to fix, and we’re doing both:

  • On our side: RcloneView sends internxt: when browsing and syncing, but internxt:/ when mounting. That inconsistency is what makes step 2 happen. Making mount use the same canonical form removes the trigger. It’s a small change and it’s the one that will reach you first.
  • Upstream in rclone: the nil guard in lib/oauthutil/renew.go checks the wrong variable — still the case in the current release and in master. We’ll report it with a patch. It affects any OAuth backend, not just Internxt.

Two workarounds you can use today.

The easy one, entirely in the app: open the mount dialog, pick your Internxt remote, then clear the “Mount” path field (it auto-fills with /) and leave it empty before mounting. An empty path makes RcloneView send internxt: instead of internxt:/, which avoids the whole code path.

Or mount from the command line:

rclone --config "<path RcloneView uses>" mount internxt: /media/myhome/internxt --vfs-cache-mode writes

One question, if you don’t mind. After that error, did other remotes stop responding too — listings hanging, other mounts never completing, until you restarted? Reading the rclone source, the crash looks like it leaves an internal lock held, which would do exactly that. We’d rather confirm it than assume it.

Thanks again — the stack trace is what made this diagnosable in one pass.

Please try this build

The fix is in 1.5.11:

These are Windows and macOS only. If you’re on Linux, say so and we’ll get you a build.

We have to be straight with you: we don’t have an Internxt Ultimate subscription here. The diagnosis, the fix and the workaround all come from your log, rclone’s source, and unit tests — we have never mounted a real Internxt account end to end. We’d rather tell you that than quietly ship on an untested assumption, which is why we’re asking you to confirm it rather than just announcing it fixed.

If it still fails, please post the log again — that would mean our reading is incomplete.

Good news!
It works!
Thank you so much!

Tested on Linux Mint, both with previous version, removing / in mount options, and also with latest 1.5.11, works either with or without / in mount options.

Now I ask: what about Android version?
Is enough to reimport configuration from new desktop version, or should I wait for a new release?

Thanks in advance!

Hi @Paco1960,

We’re glad to hear that it’s working well for you on Linux!

Regarding the Android version, we will be rolling out an update for it very soon as well. However, since the release must go through Google’s app review process, we unfortunately can’t guarantee exactly when it will be reflected and available in the Play Store.

We appreciate your patience.

No news about Android RcloneView?