👀 See CodeTogether Security for more details
Is my code stored on CodeTogether’s servers?
No, our servers only relay data between members in a shared session. We do not store any relayed data. The code permanently resides only on the host and files being worked on are stored in temporary in-memory storage on the clients.
I want to be sure my code is seen only by those I invite to a session. Does CodeTogether use end-to-end encryption?
Yes, your code is end-to-end encrypted with a key known only to members of the session, and this key changes every session. If our server were to be somehow compromised, there would be no way to decrypt data to get to your source code. Your source cannot be read by, and is never stored on, CodeTogether’s servers.
Is the Audio/Video bridge encrypted?
A/V communications use encrypted WebRTC channels that are independent from CodeTogether session services. Due to limitations in how browsers currently support WebRTC, these communications are not end-to-end encrypted. In the unlikely event of these channels being compromised, as they are independent of the regular CodeTogether session, they can never expose access to the source code or your CodeTogether session in any way.
What data is actually relayed in a collaborative session?
Only the files being actively edited have their contents transmitted. For the rest of the workspace, only file names and paths are relayed so that the project/workspace structure is visible to all in the session. Requests/responses for language features like content assist, validation, navigation and code analysis are also transmitted. All this data is end-to-end encrypted.
What information does CodeTogether store?
We store IP address, IDE type, usernames and session duration for the purpose of license enforcement and server health/performance monitoring.
How do you ensure CodeTogether is free from vulnerabilities?
Each CodeTogether build is automatically scanned for vulnerabilities using Snyk, Trivy, and Dependency-check. We also perform rigorous code audits as part of every release to specifically ensure that there are no unexpected data transmissions and no leakage of unencrypted customer code. This includes an inspection of data packets transmitted by all members in a collaborative session.
Can I prevent participants from being able to edit in a session?
Yes, this feature was added in CodeTogether 3.1. When starting a session, the host is prompted to choose if participants will have editing privileges. CodeTogether Teams, introduced in 4.0, allows you to restrict access based on team members vs. non-team members.
Can I prevent the entire workspace/project from being shared in a session?
Yes. To exclude files, folders or projects from the CodeTogether session, right-click on the resource and select Add to CodeTogether Ignore. You can also edit the
.codetogether.ignore file manually and use glob patterns. See Getting Started with CodeTogether for details.
We would like to have a private instance of CodeTogether running behind our firewall. Do you support this?
Yes, we do have an on-premises version.
How can I configure my firewall to allow CodeTogether to function?
CodeTogether uses the following domains and ports:
|*.edge.codetogether.com||80 / 443||HTTPS / WebSockets|
Ensure these ports are accessible.
Is single sign-on (SSO) supported?
CodeTogether 4.0 introduced single sign-on (SSO) integration for on-premises installations. If the SSO provider supports the OpenID Connect protocol for sign on, on-premises installations can allow CodeTogether access to users only if they’ve been authorized by the provider. The OIDC protocol ensures CodeTogether works with providers like Okta, Azure AD, Microsoft AD FS and Auth0.
👀 See the Getting Started Guide for more details.
Can I join a session from an IDE?
Yes, this feature was introduced in CodeTogether 3.0. Hosts and guests can use Eclipse, IntelliJ, or VS Code, as well as IDEs based on them. Everyone in a session can remain in their IDE, even if it is different than the IDE used by others in the session.
If I join from an IDE, will I get language support for languages my IDE doesn’t inherently support?
Yes, language capabilities such as content assist, validation, quick fixes, code analysis and navigation come from the host IDE, so as long as the host is capable, your IDE will be too. Conversely, your IDE’s language features will not be available for files shared by the host.
Why is the syntax highlighting for a shared file different from the native highlighting for that same language in my IDE?
In order to provide collaborative features, CodeTogether uses a custom editor for shared files instead of your IDE’s native editor. This is why the colors may not be exactly the same; we are working to minimize these differences.
Can multiple members edit at the same time?
Yes, multiple members in a session can edit code at the same time, even in the same file.
Is CodeTogether good for mob programming?
Yes! Participants can work solo, paired, as a mob, or any combination. Each session can include any number of dynamic groups.
When I type, everyone in the session follows me. How do I code without disrupting others?
When you use a personal cursor, you don't disrupt others in the session. Based on session settings, you may be able to choose your initial cursor mode when you join a session, or select Go to your own cursor in the CodeTogether view at any time during the session.
How do I rejoin a group?
In the CodeTogether view, click the virtual cursor you would like to share.
When I’m looking at code, my editor suddenly jumps to a different file/location. Why does this happen?
When sharing a cursor with a group that has an active driver, you can break away to make quick edits or inspect other code. You remain in the group, and after you stop editing for a short time, you return to the driver’s location. This allows you to make quick changes without disrupting the flow of others who share the same virtual cursor. However, if you would like to code or browse independently, you can always choose to code alone with your own cursor.
Can participants see console output?
Yes, this feature was added in CodeTogether 3.1. Console output on the host is visible to all participants from the appropriate view: the Console view in Eclipse, the Run view in IntelliJ, or the Output view in VS Code or a browser.
Is there a shared terminal?
Yes, read-only terminal support is available if the host allows it. In addition, the host can give write access to participants with a Teams or On-Premises plan.
Can guests run unit tests and launches?
Yes, support for running tests and launches was introduced in version 4.2. Access can be restricted with a Teams or On-Premises plan.
Is it possible for participants to access a web app running on the host?
Yes, support for shared servers was introduced in version 4.1 for users with a Teams or On-Premises plan.
I can join a session from a browser, but not from an IDE. Why?
A bug in CodeTogether versions prior to 2022.1 prevented this from working if your project/workspace had a large number of files. Ensure you are using the latest version of CodeTogether to both host and join sessions.
Do you support audio or video calls?
Yes, support for audio, video, and screen sharing was added in 5.0. See Using Audio & Video in a Session for details.
Where can I report a bug or request a feature?
On our GitHub Issues page. Be sure to check for existing issues before filing a new one.
👀 See CodeTogether Compatibility for more details
What IDEs do you support?
Supported IDEs include Eclipse, IntelliJ and VS Code, along with IDEs based on them. For a complete list of supported IDEs and versions, see CodeTogether Compatibility.
In Rider, I don't see content assist, validation, or code-analysis. Is this IDE supported?
Due to Rider’s unique architecture, CodeTogether does not support Rider. See the issue in Github for details.
Any plans to support X Code or Visual Studio?
Not at this time.
Can I join a session from a different IDE than the host's IDE?
Absolutely. For example, you can join a session started in Eclipse from IntelliJ.
What browsers can I use to join a session?
Most recent versions of modern browsers like Chrome, Firefox, Safari, Opera, etc. will work. If using Edge, we require version 44 or higher, including recent Chromium based builds.
Internet Explorer is not supported.
Some key bindings cannot be overridden in a browser, consider joining from an IDE to access your complete key binding set.
License Levels and Limitations
👀 See CodeTogether Plans & Pricing for more details
Is CodeTogether free?
The Cloud-SaaS version of CodeTogether includes a Free plan as well as 2 paid plans: Pro and Teams. The Pro plan removes the session time limit of the Free plan and allows up to 50 guests. Our Teams plan, built for a team environment with advanced functionality, is free to try for 30 days.
We also offer an On-Premises version for our Enterprise customers. This is a paid plan with a 45 day free trial.
See CodeTogether Plans & Pricing for details.
How many participants can there be in a single session?
Free: 1 host and 3 guests
Pro, Teams: 50 guests
Enterprise: varies by plan
How long can sessions be?
Free: 60 minutes
Pro, Teams, Enterprise: Unlimited
I’m a student/teacher. Do you offer Educational licenses?
Yes, we do! See if you qualify.
👀 See About Us for more details
Do you have any resources to help me get started with CodeTogether?
Yes, check out our documentation. Start with the Install Guide for your IDE, and then read the Getting Started Guide for a detailed look at how to get the most out of CodeTogether.
Another great resource is our Video Library which contains a number of videos that highlight key functionality and give a nice overview of CodeTogether in action.
I don't see an answer to my question. Where can I get help?
For technical questions, the easiest way to connect with us is via our Gitter community. You can also email us at firstname.lastname@example.org.
To view existing issues or suggest a feature, visit our GitHub Issue Tracker.
For general information or sales questions, contact customer service at email@example.com. You can also contact us via phone at +1.214.614.8328 or +1.888.914.6620.