Skip to content

nrthakur/warp-remote-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warp-remote-ios

SwiftUI iOS client for Warp's /remote-control shared-session protocol.

Built as a proof of concept for warpdotdev/warp#6391.

Unofficial. This project is not affiliated with, endorsed by, or supported by Warp (@warpdotdev). It's an independent client built against the relay protocol used by desktop Warp's Remote Share feature, in the spirit of the linked issue. "Warp" and related marks belong to their respective owners.

Authentication

The app authenticates to the Warp relay over a WebSocket upgrade with Authorization: Bearer <JWT>. There's no OAuth flow yet — you bring your own token by exporting it from the desktop Warp app's Keychain entry.

One-liner (recommended)

On the Mac where desktop Warp is signed in, run this in Terminal — it pulls the JWT out of the Keychain blob and copies it to your clipboard:

security find-generic-password -s dev.warp.Warp-Stable -a User -w \
  | jq -r '.id_token.id_token' \
  | pbcopy

Then on the iOS app: Settings → Bearer token → paste → Save.

Requires jq (brew install jq). The first time you run the security command, macOS will prompt you to allow Keychain access — click Always Allow if you'll re-run it.

Without jq

If you don't have jq, just dump the whole Keychain blob and paste it as-is — the app recognizes Warp's nested JSON shape and extracts the JWT for you:

security find-generic-password -s dev.warp.Warp-Stable -a User -w | pbcopy

A bare JWT (already extracted) also works.

As a Shortcut

You can wrap the one-liner in a Shortcut on your Mac so refreshing the token is one click. Create a Shortcut named "Copy Warp Token" with a single Run Shell Script action:

security find-generic-password -s dev.warp.Warp-Stable -a User -w \
  | jq -r '.id_token.id_token'

Set the action's Pass Input to none and Output to the clipboard. Then from any shell:

shortcuts run "Copy Warp Token"

Token storage and lifetime

  • Tokens are stored in the iOS Keychain on the device only — kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly. They don't sync to iCloud and don't survive an encrypted backup restore to a different device.
  • Warp's id_token is short-lived. When it expires the WebSocket upgrade will return 401 and the app surfaces an "unauthorized" error — re-run the one-liner and paste a fresh token.

Joining a session

  1. On desktop Warp: open a session and copy its share link (https://app.warp.dev/sessions/<uuid>).
  2. On iOS: paste the link into the Join a shared session field and tap Connect. The app opens a WebSocket to the relay and starts streaming blocks.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors