Skip to content

New flutter screenrecord command #190587

Open

Description

@jmagman

We have flutter screenshot but flutter screenrecord would also be very helpful, particularly for agent output validation.

devicectl device capture screen-record on iOS (CoreDevices)
xcrun simctl io booted recordVideo on iOS simulator
adb shell screenrecord on Android
screencapture -v on macOS

See also #190588

Activity

  1. added
    c: new featureNothing broken; request for a new capability
    toolAffects the "flutter" command-line tool. See also t: labels.
    on Aug 4, 2026
  2. added theissue type on Aug 4, 2026
  3. added
    in triagePresently being triaged by the triage team
    team-toolOwned by Flutter Tool team
    and removed
    in triagePresently being triaged by the triage team
    on Aug 5, 2026
  4. GhagSagar23 commented on Aug 5, 2026

    @GhagSagar23
    Contributor

    I'd be interested in implementing this. Since #190587 proposes a standalone flutter screenrecord command that wraps the platform-specific utilities (adb, xcrun simctl, devicectl), would you prefer that issue be implemented first so flutter drive can just invoke those shared recording methods? Or should I start by wiring up the raw platform recording commands directly inside the drive runner for a focused first PR?

  5. jmagman commented on Aug 5, 2026

    @jmagman
    MemberAuthor

    Thanks for your interest!
    I don't have a preference which would be implemented first, because the actual screen record logic should live in other places and then either command would call into it. For example, the iOS screenshot logic is here:

    Future<void> takeScreenshot(File outputFile) async {

    @bkonyi what do you think of this proposal for a new command, which is usually a heavyweight thing we add only rarely.
    Open to alternatives, like making flutter screenshot alias to flutter screenrecord and then adding a flag like --recording <output> to specify it's a screen recording (or something like that).

  6. added
    P1High-priority issues at the top of the work list
    triaged-toolTriaged by Flutter Tool team
    on Aug 11, 2026
  7. bkonyi commented on Aug 11, 2026

    @bkonyi
    Contributor

    We should definitely add this support. As discussed offline, I think the cleanest approach is to add a new flutter capture command which provides flutter capture image and flutter capture video subcommands. We'd then hide flutter screenshot and alias it to flutter capture image.

    @GhagSagar23, if you're still interested in implementing this, I'd be happy to accept a PR! I think it's worth starting with the flutter capture command and its subcommands, and then investigating #190588.

  8. GhagSagar23 commented on Aug 11, 2026

    @GhagSagar23
    Contributor

    We should definitely add this support. As discussed offline, I think the cleanest approach is to add a new flutter capture command which provides flutter capture image and flutter capture video subcommands. We'd then hide flutter screenshot and alias it to flutter capture image.

    @GhagSagar23, if you're still interested in implementing this, I'd be happy to accept a PR! I think it's worth starting with the flutter capture command and its subcommands, and then investigating #190588.

    Thanks @bkonyi Yes, still interested — happy to take this on. 🙌

    The flutter capture command with image/video subcommands sounds like the right call, and aliasing flutter screenshot to flutter capture image keeps it backward compatible.

    I’ll start with the flutter capture scaffolding and the two subcommands, wiring up video capture (simctl io recordVideo, devicectl device capture screen-record, adb shell screenrecord, screencapture -v), then investigate #190588. I’ll put up a draft PR and tag you for early feedback on the command structure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: new featureNothing broken; request for a new capabilityteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.triaged-toolTriaged by Flutter Tool team

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions