Skip to content

Feature: Add support for Infinite Scrollback #1410

Open

Description

@iancward

Summary of the new feature/enhancement

I know at least gnome-terminal supports infinite scrollback as a checkbox option in profile settings; it would be great to have that here (I'd love to be able to replace X server+gnome-terminal for WSL).

I checked to make sure that there wasn't an issue for this already, and I saw that you have a TODO comment in the code for this, so I figured I'd open a GitHub issue so that you can use the 👍 to figure out how to rank it.

Proposed technical implementation details (optional)

Looks like the plan is for users to set HistorySize to -1

// TODO:MSFT:20642297 - Support infinite scrollback here, if HistorySize is -1

Activity

  1. added
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    on Jun 22, 2019
  2. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jun 22, 2019
  3. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Jun 22, 2019
  4. changed the title [-]Infinite Scrollback[/-] [+]Add support for Infinite Scrollback[/+] on Jun 22, 2019
  5. JushBJJ commented on Jun 22, 2019

    @JushBJJ

    Would the buffer content be stored inside a file?

  6. egmontkob commented on Jun 24, 2019

    @egmontkob

    In GNOME Terminal (VTE) we store the scrollback in a compressed and encrypted file. Storing it in memory could easily result in heavy swapping, followed by the OOM killer kicking in. We store it on disk even if it's configured to have a finite size.

    The file is unlinked immediately after creating it, so it's freed up in the unlikely case that gnome-terminal (or another VTE-based terminal) crashes. During normal operation, the file handle is released (and thus the file contents get freed up) and encryption key is explicitly zeroed out in the memory when the terminal tab/window is closed.

    We used to store it in unencrypted file, but people were worried about privacy / data leakage issues e.g. if the computer gets stolen, see e.g. a generic security report and the tracking bug. (A nice extension would be if we could detect if the file system is encrypted and then skip this step.)

    Konsole, on the other hand, warns you in its config dialog that "When using [unlimited scrollback], the scrollback data will be written unencrypted to temporary files." If fixed scrollback is configured, Konsole stores it in memory (and again, informs the user about it and the corresponding risks).

  7. added
    Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)
    and removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jun 24, 2019
  8. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on Jun 24, 2019
  9. changed the title [-]Add support for Infinite Scrollback[/-] [+]Feature: Add support for Infinite Scrollback[/+] on Jun 24, 2019
  10. 26 remaining items

  11. martingalvan-volue commented on Jul 26, 2024

    @martingalvan-volue

    As a workaround, you can try using vtm to instantly get this feature (an arbitrary large ring-buffer in memory with incremental growth to a fixed maximum) inside Windows Terminal.

    Run pwsh with a scrollback buffer ready to hold, for example, up to 1M lines (this will take up some RAM):

    vtm.exe -c "<config><term><scrollback size=1000000 growstep=100000/></term></config>" -r vtty pwsh

    PowerShell.2024-07-20.21-34-38.mp4

    You can run it in a separate window using -g/--gui cli option to see the scrollback buffer state in real time if you need to.

    vtm.exe -g -c "<config><term><scrollback size=1000000 growstep=100000/></term></config>" -r vtty pwsh

    Thanks for the info. I haven't tried this yet, but hopefully it can serve as a workaround until Microsoft fixes Windows Terminal.

  12. martingalvan-volue commented on Nov 7, 2024

    @martingalvan-volue

    Hi, just wanted to check whether there's been any progress on this issue.

  13. effleurager commented on Nov 8, 2024

    @effleurager

    If there's a way to ping only MS maintainers without affecting all other readers of this, please let me know. Otherwise, I'm afraid that it will keep happening as people lose more time hitting this issue over and over.

    You do realise you're the only person affecting this effect?

  14. martingalvan-volue commented on Nov 8, 2024

    @martingalvan-volue

    You do realise you're the only person affecting this effect?

    I don't understand what you mean by this. I just thought I'd ping this to see if there's been any progress, as it's been over 5 years since it was reported and people are still tripping over it.

  15. andre-m-coquim-alb commented on Nov 24, 2024

    @andre-m-coquim-alb

    Is it possible for an issue as old as this one to be considered a priority and be put out of the backlog, or will it be one of those issues that will remain in backlog forever independently of how many people come here and put a thumbs up or comment on it? Is there anything we, common users can do to give it some kindo of priority?
    To me it affects me every day since I have to do compilations that easily pass the current scrollback limit and obligates me to use an alternative terminal, since if an error occurs it will possibly be lost due to the limited scrollback in windows terminal.

  16. ramapcsx2 commented on Nov 24, 2024

    @ramapcsx2

    To add to that, we'll take interim workarounds as well. If the full proper fix is too involved, then at least bolt something on in the meanwhile?
    Cheers :p

  17. martingalvan-volue commented on Jun 20, 2025

    @martingalvan-volue

    Hi, I just got hit by this issue once again. I saw that Dustin L. Howett (@DHowett) has set a milestone for this, does that mean there's work being done here?

  18. evilZardoz commented on Jul 29, 2025

    @evilZardoz

    macOS user here transitioning to Windows - this is a significant thing holding me back. The macOS terminal can hold around 2GB of scrollback (before it crashes). Understand that we need to throw memory at this problem (how efficient would it be? Will I need more than 16 or 32GB RAM in my device for it?).

    Glad it's being worked on, at least!

    Features for usefulness could include a "save buffer and clear" feature to export the entire buffer to a text file. "Open windows from previous session" would probably want to truncate any buffers that may be stored - macOS terminal does this.

  19. lhecker commented on Jul 29, 2025

    @lhecker
    Member

    I apologize, I accidentally forgot about finishing the PR, as I was working on another project since earlier this year (msedit). I'll see if I can finish it up in the near term.

  20. andre-m-coquim-alb commented on Oct 9, 2025

    @andre-m-coquim-alb

    Hi, lhecker, your PR #18290 seems to have failed some checks, can you please take a look when you have time?

  21. AldebaraanMKII commented on Jan 18, 2026

    @AldebaraanMKII

    I just encountered this problem. I could not scroll back to the beginning and had to run my script again to get the initial output. A shame that this is not implemented yet.

  22. yuceltoluyag commented on Apr 18, 2026

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions