Take control of your R for macOS code!

RStudio for Mac

RStudio for Mac

  -  813 MB  -  Open Source
  • Latest Version

    RStudio 2026.08.0 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    macOS 13.0 Ventura or later

  • User Rating

    Click to vote
  • Author / Product

    RStudio, Inc. / External Link

  • Filename

    RStudio-2026.08.0-187.dmg

RStudio for Mac is an integrated development environment (IDE) for R. It includes a console, syntax-highlighting editor that supports direct code execution, as well as tools for plotting, history, debugging, and workspace management.

RStudio for macOS is available in open source and commercial editions and runs on the desktop (Windows, Mac, and Linux) or in a browser connected to RStudio Server or RStudio Server Pro (Debian/Ubuntu, RedHat/CentOS, and SUSE Linux).

RStudio is the premier integrated development environment for R. It is available in open source and commercial editions on the desktop (Windows, Mac, and Linux) and from a web browser to a Linux server running RStudio Server or RStudio Server Pro.

Features and Highlights
  • Syntax highlighting, code completion, and smart indentation
  • Execute R code directly from the source editor
  • Quickly jump to function definitions
  • Integrated R help and documentation
  • Easily manage multiple working directories using projects
  • Workspace browser and data viewer
  • Interactive debugger to diagnose and fix errors quickly
  • Extensive package development tools
  • Authoring with Sweave and R Markdown
How to Use

Install R and RStudio on your Mac

Launch RStudio from Applications folder

Open or create an R script file

Write R code in the Source pane

Use Console to run interactive commands

View data and plots in Environment pane

Use Packages tab to manage R packages

Save your work and export results

Update R and RStudio when needed

System Requirements
  • macOS 11 (Big Sur) or later
  • Intel or Apple Silicon (M1/M2/M3)
  • At least 4 GB RAM (8 GB recommended)
  • 500 MB of disk space for installation
  • R version 4.1.0 or higher installed separately
PROS
  • Easy-to-use interface
  • Powerful debugging tools
  • Supports multiple languages
  • Customizable layout options
  • Seamless Git integration
CONS
  • Can be resource-intensive
  • Limited offline help resources
  • Requires R installation separately
  • Occasional lag with large scripts
Also Available: Download RStudio for Windows

Why is this app published on FileHorse? (More info)
  • RStudio 2026.08.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    RStudio 2026.08.0 Screenshot 1

What's new in this version:

New:
RStudio:
-The Windows installer now lets you choose between installing for all users (the default, which prompts for administrator rights) and installing for the current user only (no administrator rights required). A current-user install no longer prompts for elevation, and uninstalling one now removes its files, Start Menu shortcut, and registry entries cleanly. Note for automated deployments: silent installs must now specify the install mode. A bare /S exits with an error, so pass /allusers /S (the previous behavior) or /currentuser /S.
- Added a preference (General > Basic) to disable the “What’s New” window that RStudio Desktop shows after updating to a new version.
- On macOS, the Files pane now follows Finder aliases: clicking an alias to a folder navigates to that folder, and clicking an alias to a file opens the file. The File and Folder Open dialogs follow aliases as well.
-The Files pane now shows a link indicator on symbolic links and macOS Finder aliases, with the link target shown in the icon’s tooltip.
- On Windows, the Files pane now follows .lnk shortcuts: clicking a shortcut to a folder navigates to that folder, and clicking a shortcut to a file opens the file. The File and Folder Open dialogs follow shortcuts as well. Shortcuts are marked with a link indicator, like symbolic links and macOS Finder aliases.
-Inline LaTeX / math previews in the source editor and visual editor are now rendered with MathJax 4 (previously MathJax 2.7), adding support for the TeX input extensions introduced in MathJax 3 and later. Rendered R Markdown documents using mathjax = "local" continue to use the bundled MathJax 2.7.
-RStudio can now load custom Vim key mappings from ~/.rstudio-vimrc (or ~/.vimrc) when Vim editor keybindings are in use. Enable the new preference under Tools > Global Options > Code > Editing. Key mapping commands (map, noremap, unmap, and friends) and set commands supported by the editor’s Vim emulation are applied, and other vimrc content is ignored.
- The installed-package scan used to track package load and attach events now runs on a background thread, so session startup (and package installation) no longer blocks while enumerating library paths on slow or remote filesystems.
- RStudio can now be built without Posit Assistant support (including its chat pane and Posit AI Next Edit Suggestions) via the new RSTUDIO_ENABLE_POSIT_ASSISTANT CMake option; GitHub Copilot, including Copilot-provided suggestions, remains available. A new RSTUDIO_ENABLE_AI_FEATURES master option removes all AI features (GitHub Copilot and Posit Assistant) from the build when disabled.
- RStudio Server now verifies that the localhost port targeted by a proxied request (a /p/ or /p6/ URL) is owned by the requesting user, and denies the request with HTTP 403 Forbidden otherwise. Localhost services owned by other users, including root-owned listeners such as ports published by rootful Docker or system services, are no longer reachable through the session proxy by default. A new rserver.conf configuration option, www-proxy-localhost-verify-port-owner=false, can be set to restore the original behavior. On systems where the kernel’s NETLINK_SOCK_DIAG facility is unavailable, a warning is logged and the previous behavior is retained. With thanks to Luiz Felipe Mol (Paldata S.A.)
- Added a “Check for Posit Assistant updates” command to the Help menu. It always reports its result in a dialog: whether Posit Assistant is up to date, an update is available (with the option to install it), or a newer Posit Assistant requires a newer version of RStudio.
- On Windows, the R session is now long-path aware, so R can read and write paths longer than the traditional 260-character limit (for example, files in deeply nested project libraries created by renv). R has supported long paths since R 4.3.0, but the opt-in applies per process. RStudio runs R in its own, so it previously had no effect in the IDE. This requires Windows 10 version 1607 or later with the LongPathsEnabled registry value set, which is off by default. A project whose own directory exceeds 260 characters remains unsupported, because Windows cannot launch child processes (Git, terminals, builds) from a working directory that long.
-it suggestion previews (Copilot / Posit AI next edit suggestions, and suggestions shown through the RStudio API) now highlight changes at the word level. For example, renaming a variable marks the old and new words cleanly instead of showing interleaved character fragments. The previous character-level highlighting can be restored with the new “Highlight changes in edit suggestions by” preference, shown in Tools > Global Options > Assistant when an assistant is enabled, or by setting edit_suggestion_diff_granularity to "character" in rstudio-prefs.json.

Posit Workbench:
-d a login home-directory creation mode that provisions a user’s home directory via a short-lived elevated job at sign-in.
-less Kubernetes deployments are now generally available and no longer a preview feature.
- Job Launcher session and Positron init containers now default to the posit/workbench-*-init images with version-only tags.
-m OAuth integrations are now applied when the server is reloaded, without requiring a full restart.
-id Databricks or Snowflake integration configuration no longer prevents Workbench from starting. The affected integration is disabled and the error is logged instead.
- The Kubernetes plugin’s Container job-submission schema now accepts a capabilitiesDrop list, which the plugin renders as the container-level securityContext.capabilities.drop. Combined with capabilitiesAdd (for example, drop ALL and add CHOWN/DAC_OVERRIDE), this allows running a non-root container with a tightly-scoped capability set.
- The Kubernetes plugin now automatically provisions dynamic image registry pull secrets for templated jobs (use-templating=1), including customized job templates.
- The Slurm plugin adds an opt-in profile-merge-fields option to union-merge allowed-partitions and resource-profiles across resource profile levels instead of using only the last match. This deprecates the singularity-image-directory-mode option in favor of profile-merge-fields.
- The Job Launcher now logs its effective resource limits (RLIMIT_NOFILE, RLIMIT_NPROC, RLIMIT_CORE) at startup and warns when the number of open file descriptors approaches the soft RLIMIT_NOFILE limit.

Fixed:
RStudio:
- Fixed an issue where a source editor tab could become permanently inoperable (for example, mouse text selection not working, typed input silently discarded, multi-cursor editing stuck, and editor shortcuts landing in a different tab) until the IDE was reloaded. An error raised while editing with multiple cursors could leave the editor’s selection machinery in a corrupt state. That state is now restored when the error occurs, and editors additionally detect and repair leftover corruption when their tab is activated or focused.
- Fixed a hang when switching or closing projects (and restarting R) while the Posit Assistant chat backend or code assistant agent was running. The session’s shutdown wait could dispatch unrelated background work mid-teardown and block indefinitely, leaving the window stuck on the old, dead session. An assistant process that ignores the shutdown request is now also force-killed instead of being left running. RStudio Desktop shows the session error page when the replacement session fails to start during a project switch instead of hanging silently.
- Shortened the temporary file names used while executing an R Notebook chunk, which frees up about 24 characters of path length. Plotting from a notebook in a deeply nested project on Windows could previously fail with a “cannot open the connection” error; this makes it work without needing long paths enabled.
- Fixed RStudio Desktop error logging that reported TypeError: Cannot read properties of undefined (reading 'logErrorAtLevel') in place of the actual error when a background operation failed. Closing the main window after its renderer has crashed now also exits RStudio instead of leaving a headless process running.
- Fixed a compilation error when building RStudio Server against SOCI 4.1.4 or newer.
- Fixed another compilation error when building RStudio against system SOCI packages (4.1 or newer), which no longer expose the SQLite C API through their headers.
- Fixed an error when viewing an object from the Object Explorer with the French user interface language enabled.
- Fixed a regression where an unprivileged RStudio Server would fail to start when it could not read a system secure key file (for example, a root-owned key baked into an HPC container image), rather than falling back to its per-user cache.
- Fixed tar errors and warnings printed to the console after installing a package from a URL with install.packages(..., repos = NULL).
- Fixed an issue where the Render button failed to render a Quarto document living within a sub-directory of a Quarto project.
- Fixed an issue in RStudio Server where requests could fail with “Unable to connect to service” for 30 seconds or more while a suspended session was relaunching.
- RStudio Desktop now shows an error dialog at startup when folders it needs to write (for example, ~/.local/share/rstudio) cannot be created or written, instead of failing silently, and log messages now fall back to stderr when the log directory is not writable.
- Fixed unreadable label text in dark modal dialogs when using third-party themes (for example, rsthemes) that style dialog labels for light backgrounds.
- Fixed per-session memory limits not being enforced for Workbench sessions running in a container with a read-only cgroup filesystem, and made the memory gauge, memory-usage report, and abort gate reflect the container rather than the host. Added an rsession.conf memory-usage-mode option to control how session and total memory usage are computed and reported.
- Clicking a console hyperlink to a package source file that no longer exists (for example, srcref paths recording the temporary directory used during package installation) now recovers the source from the package’s srcref database when available, instead of showing a “No such file” error.
- Fixed an issue on Windows where utils::choose.dir() returned NA without showing the folder-selection dialog when running R 4.3.0 or newer.
- Switching between editor tabs no longer blocks the session on GitHub Copilot / Posit Assistant work: the document-focus notification no longer reads document contents from disk, no longer tries to launch the assistant agent (previously up to a 10-second stall per focus when the agent failed to start), and no longer holds up subsequent requests while it completes. Also removed a stray 25ms pause from every source-document metadata read.
- Fixed spurious .mapply warnings (“longer argument not a multiple of length of shorter”) printed to the console after creating or modifying a data.table with more than 50 columns (for example, via data.table::setDT()). Also fixed the same class of bug in R Notebook chunk output, where a data.table with more columns than cols.max.print (default 1000) was rendered as a single column of integers instead of the table’s leading columns.
- Updating or uninstalling Posit Assistant while another RStudio session for the same user is running it could corrupt or break the shared installation. These operations are now coordinated across sessions: they are refused with a clear message while another session is using or updating Posit Assistant, and Posit Assistant will not start while an update is in progress elsewhere.
- RStudio no longer prompts to install packages that are no longer dependencies of rmarkdown (e.g. stringr, glue) when rendering R Markdown or Quarto documents, most visibly in renv projects with minimal project libraries. Required packages are now validated against the dependencies declared by the installed packages themselves, rather than a hard-coded dependency tree.
- Fixed the IDE becoming unresponsive for an extended period after a large number of git-tracked files changed at once (e.g. moving or committing thousands of files); Git pane updates are now batched instead of rebuilding the changelist once per changed file.
- Fixed an issue on macOS where a file change landing just after a bulk change of many files could go undetected by the Files and Git panes until a manual refresh or unrelated later file activity.
- Fixed an issue on Windows where a failure to load the Start Menu Git shortcut while auto-detecting the Git installation went undetected, causing detection to fail later with a less accurate error.
- Fixed an issue where the GitHub Copilot or Posit Assistant agent could fail to start for the rest of the session after an early startup failure (for example, a misconfigured Node.js path). The agent now retries and starts once the underlying problem is corrected, without restarting the session.
- Fixed an issue on Windows where native dialogs shown by R (e.g. via utils::askYesNo(), or when install.packages() asks about installing from sources) could open behind the RStudio Desktop window, making the IDE appear frozen while R waited on a dialog the user could not see.
-Help pages opened via the Help pane’s “Show in new window” button now follow the IDE’s editor theme, instead of always rendering with a light palette.
- The first run of a new RStudio build now always checks for Posit Assistant updates, instead of the check being suppressed for up to the update-check interval (two hours by default) when the previous build had checked recently.
- Fixed an issue where “Restart R and Run All Chunks” (and “Restart R and Clear Output”) could intermittently restart R without then running the chunks (or clearing the output).
- Fixed the GitHub Copilot section of the Assistant preferences showing a mislabeled “Display account and billing messages from Posit Assistant” checkbox that had no effect. It is now correctly labeled for GitHub Copilot and controls whether Copilot’s account and billing messages are shown.
- Fixed an issue where selecting a Posit Assistant code assistant or chat provider and confirming Global Options before its install/update check finished could leave the provider selected but never installed, with completions silently unavailable. The dialog’s OK button now waits for the check to finish, so the install prompt is not skipped.
- Fixed an issue where the R session could spin at 100% CPU, flooding its logs with “system error 5 (Input/output error)” messages, after the terminal it was launched from went away while stderr logging was enabled.
- Fixed an issue in RStudio Server where the IDE could stop receiving updates from the session after an R session restart until the user’s next interaction.
- The macOS diagnostics and rpostback helper binaries are now universal (Apple Silicon + Intel). RStudio no longer prompts to install Rosetta 2 at startup on Apple Silicon.
-The Review Changes window (Git and SVN commit and history) now follows the active theme, instead of always rendering with a light palette. The changelist and diff panes use the editor theme, as they do in the Git pane. The file lists in the Review Changes window and in the Git and SVN panes also show a “No changes” placeholder when there is nothing to review, instead of appearing blank.
- The terminal buffer returned by rstudioapi::terminalBuffer() and by the “Copy Terminal to Editor” command no longer contains OSC escape sequences and their payloads. Escape sequences that fall outside the previously recognized forms (for example, colon-separated color codes (ESC[38:5:196m), bracketed-paste markers, and the window-title sequences emitted by GNU screen and tmux) are now also stripped instead of leaving fragments of their parameters or payloads behind.
- Fixed an issue where a Terminal tab stopped displaying typed input and shell output for the rest of its life after losing its WebGL context (for example, after a GPU crash, a graphics driver reset, or too many open WebGL-rendered terminals). The terminal now falls back to the DOM renderer and keeps rendering.
- Fixed an issue in the Data Viewer where jumping to the bottom with End or Ctrl+End stopped short, leaving the last row partly hidden below the bottom edge, on platforms whose user-interface font renders taller than expected (Windows, and Linux distributions such as Fedora and RHEL 10 that default to Noto Sans).
- Hardened the session against background-thread use of the R runtime. R function invocations made off the main thread are now refused, and log an error, instead of racing the R interpreter (a potential cause of memory corruption and crashes).
- Fixed an intermittent “Error restoring session (console_actions): An error occurred while parsing json” error when resuming a session whose console output contained multi-byte (e.g. Unicode block or CJK) characters. Console output is no longer split mid-character when the console replay (the console_actions session state file) is saved. Raw output bytes that are not valid UTF-8 (e.g. from cat("\xff")) are now replaced with ? in the restored console. A saved console_actions file that fails to parse anyway (for example, one written by a build without this fix) is now discarded with a logged warning instead of failing session restore.
- Fixed an issue on Windows where an R session launched with a console attached and stderr logging enabled could flood its logs at full CPU speed if the console later became unwritable; console echo failures and output-capture read errors are now logged once instead of unboundedly.
- Fixed an issue on Windows where child processes could outlive an R session that had been started inside another job object. An inverted error check reported the failed kill-on-close job assignment as success, so the session ran unprotected and the intended recovery (relaunching detached from the confining job) never ran. Job setup failures are now also logged once the session’s logging is available.

Posit Workbench:
- d startup failure when launcher.pem was made group-readable by a Kubernetes fsGroup; group-read is now accepted when the file’s group matches a group of the server process.
- d misleading database.conf permission warnings at startup when the file is mounted read-only, such as from a Kubernetes secret.
- an “Error launching session” (HTTP 500) when launching a new session from the homepage for a project stored on a filesystem mounted only on Slurm or Kubernetes compute nodes and not on the Workbench host.
- VS Code and Positron sessions failing to save project metadata and send session heartbeat updates when the server uses file-based session storage.
- in-session sign-in failing in VS Code and Positron sessions for custom OAuth integrations whose client_id contains a + character.
- sessions in some container environments (such as OpenShift) failing to connect after launch, showing a client initialization or “version mismatch” error.
- the Job Launcher being silently disabled some hours after a restart when the license verify file was not readable by the server user.
- bottleneck with user-provisioning when the database has lots of users, and new users were being added quickly.
- less (NSS mode) launcher sessions no longer grant the session user the Workbench service account’s group.
- bug that allowed a query-param bypass of audit download events. Added track-resource-downloads=1 option to rsession.conf to allow audit events for non-system resource downloads made by RStudio to prevent HTTP header bypass.
- d consistency of RStudio project sharing links so they both work more reliably, and guide the user into a session with that project (i.e., join an existing one, resume one that is suspended, or start a new one).
- dened request handling in the session storage API.
- dened request handling in the session metadata API.
- engthened protection for stored integration credentials (OAuth2).
- dened internal handling in load balancer configuration and node management.
- roved database initialization tooling.
- Kubernetes session control operations that fail due to a missing Kubernetes permission (such as pods/exec) now report the operation and the missing permission instead of a generic error.
- The Kubernetes plugin now reports a job’s termination reason (such as OOMKilled) in the job’s status message instead of only a generic exit code, matching the Slurm plugin’s wording.
- Fixed an error in the Kubernetes plugin’s job-status watch that, under load, could tear down the watch and flood the Kubernetes API server with reconnect attempts.

Dependencies:
- Copilot Language Server 1.520.0
- Electron 42.7.1
- Job Launcher Service 2.27.1-596
- MathJax 4.1.3 (inline LaTeX / math previews)
- PWB Code Server 2026.08-b2942, Code OSS 1.124.0
- nginx 1.30.4
- Positron 2026.08.0-331