When I use check50 it uploads the file and then checks it. This consumes some time.

If I could just check it offline, it would be a lot faster. Is there a way to use check50 offline?

NOTE: I use Fedora and have not installed the appliance, only the required libraries.

  • 1
    "I wouldn't try to reverse-engineer the pset from the offline source code tester...honest" ;) That is why Feb 17, 2015 at 5:23

2 Answers 2


Unfortunately, this is not achievable unless the CS50 staff provides an offline validator. The reason why the files are uploaded is that they're uploaded to be validated on a server which hands the result back to check50 which in turn shows it to you. So check50 itself has nothing to do with the validation process except that it transfers the source code files from your computer to the server and transfers the results back to you.

  • Interesting. What sort of validation do you mean, and where did you learn about this?
    – Air
    Nov 18, 2014 at 16:45
  • @AirThomas by validated I meant checked or tested. And in fact, it's obvious that check50 is a client-side application. I assumed that's what a client-side application in this situation would do. If check50 is capable of testing the code directly, why would it upload it at the first place?
    – kzidane
    Nov 18, 2014 at 17:45
  • Yes, it is a client app that connects to a remote service; the source code is on github. I thought perhaps you had some extra inside information. :)
    – Air
    Nov 18, 2014 at 19:29

To use check50 completely offline:

  1. Clone the problems github repo
git clone https://github.com/cs50/problems.git
  1. Change to the problems folder
cd problems
  1. Inside the problems folder, checkout to your specific course branch. You can find a list here. Mine is 2020/x
git checkout 2020/x
  1. Go to the folder containing your assignment source code. eg: hello. Then use check50 like this:
check50 --dev ~/problems/hello/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .