Skip to main content

· 2 min read
David Morgan

Over the last month, we've released a bunch of new features to make your experience building on Replit even better. Let's take a look at a few.

Packages Tool Upgrades

The Packages tool has had an upgrade. When you’re working on Python or JavaScript you can queue up the installation of multiple packages, get suggestions from commonly used packages, and you can even resize the pane to better use the real estate.

Ghostwriter now with GPT-4 and better Feedback

Ghostwriter Chat results now use GPT-4 by default, while still allowing you to fall back to the faster models if you need to with a model selector.

You can hit a retry button to try again and get another response, as well as a handy tracker to monitor your usage.

Our devs are using your feedback to make your AI experience better. Now, if you’re impressed or have a critique with a Ghostwriter response, it’s as simple as hitting a button and typing in your feedback.

Deployment Analytics

You now have an upgraded Deployment analytics to pull from, including page views, browsers, devices, and more.

Check them out on the Analytics tab in the Deployments pane.

That’s it for now, check in with us again next month to see what else we’ve shipped!

· 2 min read
David Morgan

Welcome to Replit’s Changelog. Since July 24th there have been 819 pull requests, let’s take a look at eight key improvements.

Expandable Storage

First, Expandable Storage: Repls can now store up to 256GB. Pick a plan, or buy storage à la carte. Train your ML models and don’t worry about the size of your data.

The filetree

We rebuilt the Replit filetree, with a focus on performance and accessibility. Now with quicker interactions when exploring large projects and a more accessible experience with keyboard navigation.

Non-Preemtible VMs

We now use non-preemptible VMs for 100% of Workspace sessions. That means you’ll be 10x less likely to reconnect and lose your flow. All network connections to Repls now run on Google Cloud’s Premium Tier of network service, which is 40%+ faster than Standard.


We've made deployments even better by cutting down the total time to deploy. Repls with a large number of packages deploy 2-3x faster. We’ve also squashed bugs on failed deployments and upgraded the UI and experience.

Keeping Secrets… Secret

We’ve done more to ensure your API keys remain secret. Now, if you paste something that looks like an API key into your code, we'll remind you to add it to your Secrets instead, so we can keep it safe for you.

Persistent Undo and Redo

Undo and redo actions now persist between reloads. If you ever need to reload your Repl, you’ll find that picking up and continuing with your work is now much easier as your CMD + Z muscle memory will be preserved.


You can now add vertical rulers in your Settings pane. You can set these at any character length you want and even have multiple active on screen at once.

Thanks for reading the changelog, we’ll be back in another few weeks with more updates that make Replit the fastest way to go from idea to product.

· 2 min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past three weeks, we merged a total of 823 Pull Requests.

Account-Level Storage

Account-level Storage shown in Resources

Repls were previously limited to a storage limit of 1GB each. This made it difficult and sometimes even impossible to run larger projects on Replit.

The maximum storage capacity of a Repl has been bumped from a single Gigabyte to 256GiB.

Read more on the Blog Post

Inline Ghostwriter

Ghostwriter's Code Generation and Code Transformation features have gotten a major upgrade and now appear inline with your code rather than a popover that blocks your view.

Inline Transformation

Select a portion of code, right-click, and select Edit Code. Submit a prompt and Ghostwriter will show you a code suggestion in the form of a diffed view. You can toggle between Comparison mode, your original code, and Ghostwriter's suggestion.

Inline Transform

Inline Code Generation

Similarly to Code Transformation, Right-click and select Generate Code. Enter a prompt and Ghostwriter will provide a suggestion.

Inline Generate

Host Redirection

To expose a web output, you are required to run an HTTP port on the host If this is not the case, no web output will be forwarded.

If you accidentally run an HTTP port on the wrong host, you will get a popup indication.

Host Redirection

Editor Preferences Redesign

We've redesigned the Settings pane to use a cleaner and more intuitive design. Keybinds now have their own tab so as not to take up so much space.

Settings Redesign

New Extensions Store

In and outside of the workspace, we've updated the Extensions Store to look and perform a lot better. Additionally, you can sort and filter extensions to find the one you need instead of scrolling through hundreds of them.

New Extensions Store

Repl Multi-Deletion

You can now select and delete multiple Repls at the same time rather than deleting each one individually. Hover over a Repl and select it by clicking on the checkbox on the left.

Selection Start

After selecting the desired Repls for deletion, press the Trash icon to delete them.


· 2 min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past three weeks, we merged a total of 914 Pull Requests.

Faster Deployments

For larger applications, large packages were causing the build phase to take a long time, leading some deployments to time out.

We shipped a change that reduced the deployment time for larger applications by a few minutes.

We also added a nice touch of design to the deployment process 🎨

Deployment Progress

Secrets Configuration

Digging through existing code to find out how to set the correct environment variables is a time-consuming process, especially for building full stack apps.

After forking a Repl, the key names of existing Environment Variables will now be set in Replit Secrets.

Configuring Secrets

Search and Replace

Navigating large projects requires fast and responsive search. Using ripgrep and crosis, we built the functionality to search your Repls. We then used a variety of streaming techniques to make it fast.

Read More:

Code Search and Replace

Icons in Account Options

When you click on your username in the Sidebar, you will see a list of options leading to different parts of the site. We recently added some icons for a more intuitive design.

No icons With Icons

Extension Logs

We added a new section to the Developer Tools pane for Extensions developers. Debugging is now a lot easier during the development process.

Extension Logs

Discord Usernames

With Discord's recent migration to adopt usernames, four-number discriminators are slowly being removed from usernames. We now support this format as a profile customization option.

Discord Username

· 2 min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past two weeks, we merged a total of 659 Pull Requests.

Git Diffing

If your Repl is using the new Git Integration, you will have access to Git Diffing which allows you to view the differences between your current code and the most recent code committed to your Repository's branch.

Aside from being able to view the diffs, you can edit your code directly even while Diff mode is activated. To use this feature, select the Diffing button on the bottom of your code file.

Git Diffing

Ghostwriter Revamp

We recently released and open-sourced our new replit-code-v1-3b AI model, which is now powering Ghostwriter's Complete Code feature.

On top of that, Ghostwriter Chat now uses different presets to identify and fulfill a request.

Ghostwriter using Docs dataset

Kaboom 3000

Kaboom.js is a JavaScript game programming library made by Replit focused on ease of use. Just recently, we released version 3000, which features improved performance, pathfinding, improved physics, and more.

All new Kaboom.js Repls are now set to use version 3000 by default, providing you with the latest and greatest features.

Notification Panel Polish

The Notifications panel has undergone some slight design changes and now allows you to read and manage your notifications without a hassle.

Notifications Redesign

· 2 min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past month, we merged a total of 928 Pull Requests.


We just launched a new Git UI in all Repls that provides everyone with a seamless and powerful version control experience. To get started using this new feature, check out its documentation page.

Git UI


All code files now have a Minimap available. You can enable the minimap under the Settings pane.


Minimap Setting


You can now customize different actions in the Replit Workspace with Keybind Customization. Navigate to the Settings pane and turbowarp your workflow. See here for a detailed list of customizable functions.


IDE Landing Page Redesign

If you're a fan of Web Design, you'll be thrilled to hear that we modernized our landing page for the IDE. Check it out at

Secrets Redesign

We've redesigned and improved the experience for storing secrets and environment variables. You can now copy keys and values without having to edit the secret.


Colored Tools

You'll notice a burst of color when you open up the Tools dock in the Workspace. Each individual Tool now has a unique and distinguishable color assigned to it.

Colored Tools

· 2 min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past two weeks, we merged a total of 880 Pull Requests.

Bounties Chat

We've implemented a realtime chat system where bounty posters and bounty hunters can communicate. Simply click the Chat button if you are actively working on/monitoring a bounty, and start communicating seamlessly on-platform.

Bounty Chat


Many users are familliar with their Repls restarting, crashing, going to sleep, and taking forever to wake up. Replit Deployments gives you the ability to host a stable project, which stays awake by default.

Hit the Release button in the top-right corner of your Repl to release your project to the world.

To get started with Deployments, check out the documentation.


LSP Indicator

LSP (Language Server Protocol) can massively impact your coding experience. It offers code snippets, intellisense, and more. We've added a small indicator that lets you know if you are connected to LSP.

If the indicator shows that an error occurred, you can simply refresh the LSP by clicking on the indicator instead of restarting the Repl and refreshing the page.

LSP Indicator

Extensions & Devtools

Instead of having to manually update your manifest file when developing an extension, you can now use the Developer Tools to edit metadata.

Developer Tools for editing metadata

You can also publish your extension to the store with the click of a button.

Publish an extension

· 3 min read
Conner Ow

Welcome back to another edition of Replit Updates!

In the past two weeks we merged a total of 906 pull requests.

Features & Launches

Less Repl Reconnects

Repls are computers that live in the cloud. If the virtual machine behind your Repl disconnects, you will lose your network link and your Repl will restart, interrupting your coding session.

All users on Hacker, Pro, or Teams plans will see a 10x reduction in container restarts while coding in the Workspace. Now you can code for multiple hours straight without a single restart.

See the blog post and our partnership with Google Cloud.

Outbound Data Transfer Limits

Outbound Data Transfer, often referred to as bandwidth or egress, is the amount of data your Repl transmits to users and extenal services. As of April 7th, we have started to enforce this limit.

We started limiting egress since abusive Repls were keeping costs high. Now that we are paying for less abuse, we used our savings to enable non-pre-emptible VMs.

bandwidth pricing

On the Account Page under Resource Usage, you will see a meter for Outbound Data Transfer. Regardless of your plan, you can increase your monthly bandwidth quota for ten cycles per GiB.

data transfer indicator

Tab Dropdown Options

Clicking on the header of a file tab will show a dropdown menu. We've added the options to copy the file path, copy the link to the file, and even download it!


Workspace Bug Fixes

Search Priority

In a large codebase, there are often many files with the same name. Previously if you opened the command bar and searched for a file, all matches would display in random order. Files are now organized hierarchically, or by file depth.



Declaration Highlighting

The declare keyword in TypeScript files were previously not highlighted as valid keywords. Sergei Chestakov smashed this bug almost instantly.



Type Folding

You can now fold types and interfaces in the editor! Huge thanks to Giuseppe Burtini who implemented this fix.


Location Alignment

The Location map pin on user profiles wasn't aligned with the text correctly. The polish king Bookie0 identified and fixed this pesky CSS issue.



Account Dropdown Hover State

When opening the dropdown in the sidebar by clicking on your username or profile image, the items in the dropdown didn't change color if you hovered over them. Once more, Bookie0 hopped in and saved the day with his amazing CSS skills!



· 4 min read
Conner Ow

Welcome back to another edition of Replit Updates!

In the past two weeks we merged a total of 874 pull requests. Our top contributor this week is Moudy Elkammash who landed 87 merged pull requests.

Launches & New Features

Multiplayer Menu Redesign

Devin Halladay redesigned the multiplayer popover menu you use to invite people to your Repl with. Easily access, manage and invite collaborators from this menu.

Multiplayer popover redesign

Bounties Services

Programmers are talented in many different areas, and some Bounties may not match the the skillset you offer. We've turned the model around so that you as a Bounty Hunter can name your price and post a listing of what you want to build for others.

At the moment, posting a Bounty Service has been whitelisted to a small group of users. If you want to post a service, you can sign up for access, or ask one of these amazing creators to build something cool for you!

Bounty Services

Billing polish

You can now see what Repls are included in your plan as well as the ones you are spending cycles on.

Plan Surfacing

Workspace polish

We've done a lot of polishing Replit workspace in the past two weeks. Here are some highlights.

1. LSP

Having two of the same TypeScript files open at the same time and coding in either of them would cause the Language Server Protocol (LSP) to hallucinate and show errors that didn't exist. Giuseppe fixed this bug, providing everyone with a better TypeScript experience on Replit.

2. New tab focus

Clicking on the "+" icon next to your tabs wouldn't focus the search bar. Opening a new tab should automatically place your focus there and enable you to search for the things you need faster.

3. Scala Syntax Highlighting

Recently, if you had var hola = '"' in your Scala code, the syntax highlighting wouldn't display correctly. Sergei swiftly created a fix for this, improving the development experience for Scala developers.

4. Markdown commenting

Did you know you can add code comments in Markdown files? There was an issue where cmd/ctrl + / keyboard shortcut was highlighting the entire file - now it works as expected.

5. JSX Commenting

Commenting out React Components with the cmd/ctrl + / keyboard shortcut used to result in normal Javascript comments // being used instead of a block comment {/* ... */}. Thanks to super-fast-shipping Sergei, this issue has been resolved.

New Templates and Repls

GPT-4 Chat UI

Zahid Khajawa made a user interface capable of using GPT-4 as well as GPT-3.5-turbo. Simply provide your own API key and you've got a fully-functional Chat UI. Check it out at

OpenAI Node.js GPT-4

Replit has a Node.js template that allows you to access the GPT-4 AI Model using Node.js

OpenAI Python GPT-4

If you're a python developer, you can use GPT-4 by accessing the OpenAI API in this template.


Building Ghostwriter Chat

See how Replit built Ghostwriter Chat, how it works, and some tips on how to use it better. Read More.

An update to cover pages

A couple of weeks ago, Repl cover pages were extremely cramped, only allowing a very small view of a Repl's output. We've expanded the cover page to utilize almost the entire screen, enabling you to have a better view of the Repl you're browsing, and have all the social content accessible from the side at all times. Read more on the blog post.

cover page update

Outbount Data Transfer Limits

Beginning April 7th, Replit will start enforcing limits on the amount of outbound data that developers can transmis from their Repls. See the blog post for more information.

Applications of Generative AI

Watch AI Legends Amjad Masad, Jim Fan, and Michele Catasta talk about advancements in Generative AI, the NVIDIA GTC event, and multi-modality. Watch on youtube

· 2 min read
Conner Ow

Welcome back to another edition of Replit Updates!

In the past two weeks we merged a total of 933 pull requests. Our top contributor this week is Madison Fitch who landed 79 merged pull requests.

New Git UI

Brian Pool has been working tirelessly on improving the experience with Git and Replit. If you've got Explorer mode enabled, you should see a new interface for interacting with Git.

New Git UI

You can now seamlessly commit, push, create pull requests on GitHub, and view Git History with this new feature.

Git history

Tab Management

Clicking on a tab now allows you to copy the link to it, toggle folds, and switch to another file without opening up the file tree.

Tab Dropdown

Clicking on the three dots in the top-right corner of a pane or hitting CMD/CTRL+J Opens another dropdown that allows you to manage tabs and panes without ever leaving your keyboard!

Pane Options

Try using CMD+J followed by CMD+SHIFT+ARROWLEFT or CMD+ARROWLEFT to move focus and navigate around the screen!

Mobile Themes

Custom Themes are now available in the most recent version of the Replit mobile app! Install the latest update on the App Store or the Google Play Store and you'll be able to manage and switch between your favorite Themes from the Account page.

Extensions Developer Docs

The Extension Developer Docs just landed. If you're interested in making an Extension of your own, apply for early access here.

Bounties Summary

You can now see the total amount of cash available from open Bounties in the sidebar.

Bounty Summary

· 2 min read
Conner Ow

Welcome back to the Changelog!

In the past two weeks we merged 750 pull requests. Our top contributor this week is Phil MacEachron who landed 55 merged pull requests.

Ghostwriter Chat

Ghostwriter Chat

All Ghostwriter subscribers now have access to Ghostwriter Chat, which lets you talk to a conversational AI pair programmer that has the context of your project. Ghostwriter Chat also comes with a debugger that can identify and assist in resolving errors (Ghostwriter Debugger is only available in Python and JS-based Repls).


We have a new plan, Pro, which comes with some amazing benefits such as additional storage (10GiB), an even faster development environment (4GiB RAM and 4 vCPUs), and all of Ghostwriter's features (including Ghostwriter Chat for a limited time)!

Compare all our plans here.

shiny hacker pro


Replit Extensions have been released to Explorers. You can now install an Extension in the Workspace from the store. If you want to build an Extension, join the waitlist for the Extension Developer Beta.

adding an extension

New Replit Badge

Nathan Pham, one of our interns, updated the "Made with Replit" badge, which you can add to any of your Replit projects (it comes by default on all HTML/CSS/JS Repls).

new badge

· One min read
Conner Ow

Welcome back to another edition of the Replit Changelog!

In the past two weeks we merged 915 pull requests. Our top contributor this week is Bookie who landed 58 merged pull requests.

Nix Migration

migrating to nix

Before incorporating Nix, Replit used Polygott as its primary language support engine. However, with the adoption of Nix, we have begun phasing out Polygott. Some older Repls may still be using Polygott, and if you fork one of these older Repls, your Repl will also run on Polygott. However, now Replit will automatically migrate the forked Repl to use Nix.

Bounty Reputation System

You can now review Bounty Hunters and receive ratings for your work on Bounties.

bounty review

After receiving a review, your reputation can be viewed and evaluated by a Bounty Poster.

bounty review

· 3 min read
Conner Ow

Welcome back to the Replit Changelog!

We merged a total of 866 pull requests in the past two weeks. In addition to the major launches we shipped this week, we also have some small polish changes.

Replit India

We launched Replit India to improve the speed and performance of the coding experience for developers located far from the United States. You can now choose between the United States and the India server clusters.

Replit india

Navigate to your account, change your server location, and fire your Repls up with minimal latency.

india server

Git in the Shell

We just shipped a smoother Git experience in the shell. Instead of manually entering your Git credentials for each command, simply grant Replit access to your credentials, allowing for seamless control of your repositories without any authentication issues.

Git in the shell

Many thanks to Ryan for all his hard work in making the Git experience better for everyone.

Repl Shop Upgrade

Ready to gear up in Replit merch? Check out the new and upgraded Repl Shop.

Bounties Page Redesign

The Bounties page has undergone a redesign. On top of looking better, you can now view Bounties you've posted and Bounties you're participating in.

new Bounties page

Anon Repl Redesign

Have you checked out the Replit dog or the Replit cat before? Unfortunately you won't be directed to a cute dog or cat GIF, instead you'll land on an Anonymous Repl. Anonymous Repls are Repls that don't have an owner and give you a complete surprise if you fork them.

Thanks to our famous and amazing designer Clément Rozé, also known as Bookie0, the page for anonymous Repls has been updated to use our Design System

anon Repl page

Anonymous Repls were more widely used in the past but are now deprecated. If you want to learn more about anonymous Repls, check out the blog post.

Markdown Component Redesign

Did you know you can have an element that hides and shows content in Markdown files? You can use the <details> and <summary> html tags to do this as in the image below:

details-summary in Markdown

We fixed these components that used to render with poor spacing.

Speaking of Markdown, we recently published a Markdown tutorial covering everything from basic to advanced syntax, as well as custom renderers for Loom videos, Figma canvases, and more.

Badge Overflow fix

Who doesn't love to have tons of badges on their Replit profile? Faris sure loves to! Before, creators with many badges would find some of them hiding behind the showcased Repl on their profile.

badge overflow

Be sure to show your gratitude to the CSS grandmaster for this and lots of other UI polish.

faris profile look noice now

· 3 min read
Conner Ow

Welcome to the first edition of Replit Updates in 2023!

In the past two months, the Replit engineering team shipped tons of new features and merged a whopping 2311 pull requests!

In just the past week, 253 pull requests have been merged. Congrats to our top contributor Madison Fitch with 115 commits. Let's dive into some of the major features we released to production!


We've partnered with Neon to give you the power to connect to a PostgreSQL database from within your Repl. In the Tools section of the left sidebar, you should see an elephant icon which will open up the PostgreSQL pane.


Setting up a database has never been easier! Hit the button to set up your database, and your Secrets will automatically be populated to get the database up and running.

environment vars

You can use an ORM like Prisma or Sequelize as well. Or if you like writing raw SQL, we support that too. Now you've got a powerful database fueling the fire of your latest and greatest Repl!


Feeling generous? You can now tip your favorite creators with Cycles and earn them from others by creating awesome content.


On top of the ability to give Cycles to others, there is a global leaderboard showcasing the most generous community members.

tipping leaderboard

Custom Themes

To finish off 2022, we released the most-requested feature of all time—Themes. Now you can create your own theme or explore and apply Themes created by your fellow community members.

custom themes

Cycles Transaction History

On the Cycles page, you will now notice a new Transactions tab.

cycle transactions

The Transactions tab shows the amount of Cycles going in and out of your account, as well as a detailed account of what you spent your Cycles on—making it easier to organize and track usage.

New Bounties Features

Bounties have now been released to all Replit users. On top of that, a ton of cool features have been added to bounties after the launch.

  • Bounties now have a pre-filled template as part of the posting flow
  • You can now edit your Bounties
  • You can sort Bounty applications by Recommended, Newest, and Oldest
  • You can now escalate and report Bounties to the Moderation team

Taking a look at Amjad Masad's tweets, you will find some crazy and amazing Bounties and case studies.

· 3 min read
Bardia Pourvakil

Welcome back to another edition of Replit Updates!

In the last two weeks, we merged 579 pull requests across our codebases, here are the highlights:

Workspace Sidebar + Header Redesign

We redesigned the sidebar to make it into a launcher for tools and files. Previously, we had a bunch of tools (like packager and debugger) which were “trapped” inside of the sidebar. This redesign lets us open both tools and files as tabs, and makes it much easier for us to set up the workspace for extensions. We also redesigned the header to make it more compact and focused.

Sidebar redesign

Learn Java with BloomTech

We just added a new beginner-friendly course to our Learn page! In this series of daily lessons taught by BloomTech's lead Java instructor, you will learn Java by creating an end-to-end application that allows you to draw and paint on a canvas.

Mobile App Updates

  • Added teams to the mobile app, which can be accessed from the account tab. — Abdel Rahman Elleithy
  • Added Replit Reps badges to profile pag. — Ian Kirkpatrick
  • Added a new page to view Cycles transactions. — Abdel Rahman Elleithy
  • Fixed some login issues. — Matthew Chen.
  • Stopped showing owner picker if user doesn't have any teams. — Abdel Rahman Elleithy
  • Stopped showing Edit/Delete Repl Metadata buttons for users that don't own the Repl. — Ian Kirkpatrick
  • Stopped showing confusing PWA banner. — Laima Tazmin

Workspace Polish

  • Added border styles for active/inactive, floating/tiled and dragging states for panes. — Moudy Elkammash.
  • Added a button to the navbar to access the Chat feature. — Devin Halladay
  • Added focus indicator for Console and Shell trash and search UI. — Talor Anderson
  • Upgraded .draw files to use the latest Excalidraw, which comes with image support, more advanced drawing tools, and much more. — Jeremy Press and Ornella Altunyan
  • Improved the visual design of the new tab pane. — Moudy Elkammash
  • Increased the max width of file path tooltip to account for arbitrarily long paths. — Moudy Elkammash
  • Fixed an issue issue where the autocomplete menu would flash while typing. — Xiaoyi Chen
  • Fixed a bug where Select All Occurrences code action wasn't working. — Moudy Elkammash
  • Fixed a bug where the Kaboom learn tab wasn't working. — Tiga Wu
  • Fixed an issue with .pedit files not working. — Tiga Wu
  • Fixed an issue where other users' cursor tooltips would render outside the code editor, covering other pieces of UI. — Alexandre Cai
  • Fixed a bug with JSX parsing that led to indentation issues. — Brian Pool
  • Fixed a bug where you needed to hit the down arrow twice after opening up file search to start going through the results. — Moudy Elkammash
  • Removed the refresh app component in the navbar. — Gian Segato

Teams for Edu Fixes

  • The checkbox for making the team invite privacy links is moved to the team creation modal instead of the manage members modal. — H
  • Other ways to add users such as from CSV or from google classrooms are disabled for teams with privacy invites. — H

· 5 min read
Bardia Pourvakil

SHPNG SZN is still in full gear with new features, bug fixes and polish abound! (shameless plug for our swag shop where you can cop some SHPNG SZN gear)

In the last two weeks, we merged 762 pull requests, here are the highlights:


Last week, we officially launched Replit's first marketplace, Bounties! Describe your task —> get software built by Replit's top creators. Check out a case study on how Deel used Bounties to get an internal site built in just one week.

As a Replit community member, you can earn Cycles by completing Bounties. Learn more here.

Example Bounty

Huge shout out to the Bounties team for their hard work on this project: Michael Hadley, Talor Anderson, Søren Rood, Aman Mathur, and Horacio Lopez.

Status Manager

We just launched a Status Manager, where you can see all your running Repls: restart, kill, see logs, etc, it's awesome! Read more about it here on our blog, from its makers: Joe Thom and Lincoln Bergeson.

Status Manager

Mobile App

  • Added a keyboard toolbar to the shell to allow for key inputs that aren't available on mobile keyboards like Esc, Tab, Ctrl — Matthew Chen
  • Added ability to accept Ghostwriter suggestions in the keyboard toolbar when in the editor — Ian Kirkpatrick
  • Added owner username to Repl cards and made language icons more prominent — Abdel Rahman Elleithy



  • Added red indicator when there are unread messages in Chat and Threads — Moudy Elkammash
  • Fixed issue with .pedit files where mousing down outside and then mousing up inside the canvas caused a crash — Tiga Wu
  • Added multiselect modifier key setting in Settings — Xiaoyi Chen
  • Updated tabs to scroll into view when they become active — Moudy Elkammash
  • Switched default to position of new panes to top right instead of top left if there are two panes open — Tyler Angert
  • Added a keyboard shortcut indicator to the hover state of the CLUI button (magnifying glass) in the header — Giuseppe Burtini
  • Fixed incorrect shortcut reference for Workspace Shortcuts in the Help menu from Ctrl+. on Windows/Linux to Ctrl+K — Giuseppe Burtini
  • Fixed issue with autocomplete popover positioning displaying on iPads — Alexandre Cai
  • Fixed issue with unwanted text selection while dragging — Moudy Elkammash
  • Disabled code formatter when code intelligence setting is toggled off — Toby Ho


All courtesy of Arnav Bansal:

  • Fixed issue where Threads weren't live updating
  • Fixed issue with up/down arrow keys not working in Threads input field
  • Updated links in Threads to open in a new tab rather than replacing your Replit session


All courtesy of Xiayoi Chen:

  • Added the ability to drag and drop multiple files/folders
  • Updated colors of active files/folders in the file tree to grey-ish from blue
  • Redesigned hover states when dragging and dropping files/folders
  • Made borders of selected files/folders flush when multiselecting
  • Fixed stuttering when dragging to move files and folders
  • Added the ability to drag one or multiple files to a pane or the pane header
  • Fixed issue with search term that appears in the folder name highlighting matches in the file name


  • Fixed text truncation bug on recent Repls titles on home page — Joe Thom
  • Redesigned notice, confirmation, and error toasts — Conner Ow
  • Fixed 100 Days of Code streak logic to account for daylight savings time — Madison Fitch
  • Added Tutorial Jam winning tutorials to the Learn page — Phil MacEachron
  • Standardized page widths for the Home, Templates, Community, Teams, Learn, and Curriculum pages — Moudy Elkammash
  • Redesigned Repl cards on the My Repls page — Omar Abdul-Rahim
  • Add support for @username handles for YouTube social links in user profiles — Shane Vandegrift
  • Fixed incorrect background styling of tags section on Following feed items — Mathurah Ravigulan
  • Fixed mobile responsiveness for tutorial cards on the Learn page — Phil MacEachron
  • Prevented public search indexing of Repls published less than 24 hours ago or have less than 1 like — Jeremy Press

Teams for Edu

  • Updated student projects to hide .tutorial folder — Xiaoyi Chen
  • Fixed a bug in group submissions where the team's name for students instead of the student's username — Ted Summer


As our code editor runs on CodeMirror, we thought you should know about upstream fixes we've pulled down. Arnav recently upgraded us to all the latest CodeMirror packages, which came with the following notable changes:

  • Fixed a bug that caused deletion commands on non-empty ranges to incorrectly return false and do nothing, causing the editor to fall back to native behavior
  • CSS completion now supports a number of additional recent and semi-standardized pseudo-class names
  • Deprecated HTML tags have been removed from completions
  • Made JS completionPath handle ?. syntax
  • Added proper indentation handling of Python else clauses in try statements
  • Work around a Chrome bug where it inserts a newline when you press space at the start of a wrapped line
  • Align rectangularSelection's behavior with other popular editors by making it create cursors at the end of lines that are too short to touch the rectangle
  • Fixed an issue where coordinates on mark decoration boundaries were sometimes taken from the wrong side of the position
  • Prevent scrolling artifacts caused by attempts to scroll stuff into view when the editor isn't being displayed
  • Fixed a crash when trying to scroll something into view in an editor that wasn't in the visible DOM
  • Fixed an issue where content on long wrapped lines could fail to properly scroll into view.

· 3 min read
Dave Madden

This week we merged 441 pull requests, pushed 1,172 commits, and added 49,440 lines of code to our codebases. See what we shipped: 👇

What we shipped

Matt and Madison made all the fast things...even faster

Last week Bradley found a way to cut's p95 latency in half.

This week it appears that Madison and Matt Iselin have cut latency in half again!

Take a look at this chart and see if you can tell when we shipped the changes:

a graph of's p95 latency

What does this mean for you? It means the slowest 5% of requests to now respond in 1/4 the time they did two weeks ago. And we're not done.

Editor's Note: if you say "Madison" and "Matt Iselin" one right after another a few times, they sound exactly the same. This has been extremely confusing for us at times (on account of them actually being two different people), so we thought we should do our civic duty and spread our confusion by sharing it.

The mobile app keeps getting better

It’s been three weeks since we launched our amazing mobile app, and we’ve been hard at work making it even better!

  • Laima and Abdel added the ability to give your Repl a name as you're creating it.
  • Ian fixed a bug with the Git plugin so now you can incorporate your version control workflows in mobile without issue!
  • Ian also fixed a bug where the workspace wouldn't scroll to the correct position when the keyboard was open.
  • Matthew fixed a bug where, if an Android user's primary browser was FreeAdblocker, the browser would prevent them from being able to log in to the Replit app. Now the app overrides the default browser for a smooth login!

What we polished

  • Giuseppe shipped performance improvements to Ghostwriter's Explain Code feature.
  • Samip and Muhammad deployed batched codegen to help reduce latency for all our Ghostwriter features.
  • Larry and Aman shipped the just-in-time Cycles purchase experience for Power Ups to make it easier to get started with Ghostwriter.
  • Eddie made your favorite teacher's day with some substantial quality-of-life improvements to Teams for Education including the ability to copy courses and solutions to the next year.

Behind the Repls

Jesse conquered the Dome (again)

Those of you who've written into Replit Support have probably exchanged emails with Jesse. (It's possible those emails contained references to a certain book, but we'll talk about that another time.) What you may not know about Jesse is that he's an accomplished rock-climber, who spent last weekend climbing Half Dome.

Just take a look at this. Yes, these are actual pictures of an actual Jesse climbing the actual rock:

Jesse climbing Half Domethe sun setting as Jesse climbs

This made Replit Founding Engineer Faris extremely uncomfortable until Talor helpfully reminded him that "less people die climbing than they do not climbing." This made Faris feel better and all was right with the world for a moment.

· 5 min read
Dave Madden

This is the first edition of Replit Updates - where we get to share what we’ve been up to in the past week! What have we built for you? What have we fixed for you? It’s all here. Read to the end for a peek behind the Repls and into the lives of the engineers building Replit!

This week we merged 496 pull requests, pushed 1224 commits, and added 349,343 lines of code to our codebases. See what we shipped: 👇

What we shipped

Ghostwriter launch

Earlier today we launched Ghostwriter to the public after months of closed beta-testing, and last week the team shipped some final pre-launch improvements to make Ghostwriter faster and more reliable.


This was a major team effort:

When we launch a new product line like Ghostwriter, it takes more than just engineers building the feature itself: Jonathan, Ted, Devin, and Aman built out the onboarding experience and purchase flow you’ll go through as you try the 14-day free trial.

Mobile app magic

It’s been two weeks since we launched our amazing mobile app for both Android and iOS and we’ve been shipping improvements based on all your wonderful feedback! Last week:

  • Abdel and Matthew lowered the sensitivity of the shake to provide feedback feature and gave active users the ability to turn off the shake feature entirely.
  • Ian fixed your mobile keyboard: it no longer covers up the editor or console.
  • Matthew also improved TypeScript and JavaScript code suggestions.
  • And the entire team, led by the incredible Laima Tazmin, made improvements to both stability and speed.

We're always shipping new features and fixes, so be sure to update your app!

New File History Viewer

This week we moved the entry point for our new History feature from the nav header to the bottom of each file. Brian, Tyler, and Moudy collaborated on this redesign, making an already helpful feature dramatically more convenient to access by file.

You used to find History here - and pressing the button took you to an entirely different page:

Replit History 2 in the nav bar

Now you can find the History icon in the lower-right-hand corner of the tab you're working in. And you can use it without leaving the editor:

new Replit history function in each tab

Bradley made all the things faster

You may have noticed something this week: Replit is faster.

Like, a lot faster.

You can thank Bradley. Bradley, as one does, discovered a way to cut our web tail latencies in half. Overnight our 95th percentile latency dropped from 1+s to less than 500ms. Check out this absolutely bonkers chart:

Brad made all the slow things go fast

The top line represents the slowest 5% of requests to Before Bradley (BB). The bottom line is the slowest 5% After Bradley (AB). Bradley is our hero.

We salute you, Bradley.

we salute you, Bradley

Become a teacher on Replit

If you’ve done any of the 100 Days of Code lessons, you’ve seen the special internal feature we built that lets us design interactive tutorials directly on Replit. We thought it was too good a feature to keep to ourselves, so now you can create your own Replit-native tutorials. There’s even a contest with prizes:

join the tutorial jam

What we polished

  • Eddie Nuno modified the repl auth token expiration time for better user-experience.
  • Toby Ho improved the publishing flow to ensure templates are built before they’re published, which makes them faster for every person who uses them - no more installing packages every run!
  • Madison made every teacher’s week when she shipped an improved/more performant Project Overview page. This new version stays speedy even under peak load!
  • We’ve also made our updated brand kit available here: . Please Meme Responsibly™️.

Behind the Repls

We love building Replit, and we work really hard. But we have fun too. Every week at the end of the update, we’re going to share a little peek into some of the other things we’ve gotten up to.

Comic Sans-sanity

A few weeks ago Talor and Jonathan made a deranged bet. The first bet we’re aware of, by the way, made in Cycles:

The challenge: who can code in Comic Sans the longest? Yes, we agree: this is madness. Just look:

Comic Sans all the things

And, yes, this bet extends to writing code on Replit:

Comic Sans is taking over the world!

Editor's note: They’re both 100% committed to winning, so it’s likely that many of the new features we ship over the next year will have been written in (shudder) Comic Sans. We would not inflict this on anyone, so please keep Talor and Jonathan in your thoughts.

Keep track of this unhinged experiment on this Repl:

days and counting

Debate over the best mechanical keyboard switches rages on

We talk about the important things too: like which mechanical keyboard switches are best. Gian thinks MX Browns are little too heavy. Luis thinks Gian might want to tune them, but Giuseppe insists “Kailh Box Whites are the pinnacle of switches” and the conversation eventually devolved into us laughing at reflections of ourselves in this YouTube parody.