diff --git a/tools/streaming_proto/OWNERS b/tools/streaming_proto/OWNERS
new file mode 100644
index 0000000..5f6e59f
--- /dev/null
+++ b/tools/streaming_proto/OWNERS
@@ -0,0 +1 @@
+mwachens@google.com
diff --git a/tools/streaming_proto/cpp/main.cpp b/tools/streaming_proto/cpp/main.cpp
index fe9a438..905ed35 100644
--- a/tools/streaming_proto/cpp/main.cpp
+++ b/tools/streaming_proto/cpp/main.cpp
@@ -119,9 +119,8 @@
     text << endl;
 }
 
-static void
-write_header_file(CodeGeneratorResponse* response, const FileDescriptorProto& file_descriptor)
-{
+static void write_header_file(const string& request_parameter, CodeGeneratorResponse* response,
+                              const FileDescriptorProto& file_descriptor) {
     stringstream text;
 
     text << "// Generated by protoc-gen-cppstream. DO NOT MODIFY." << endl;
@@ -159,6 +158,9 @@
     text << endl;
     text << "#endif // " << header << endl;
 
+    if (request_parameter.find("experimental_allow_proto3_optional") != string::npos) {
+        response->set_supported_features(CodeGeneratorResponse::FEATURE_PROTO3_OPTIONAL);
+    }
     CodeGeneratorResponse::File* file_response = response->add_file();
     file_response->set_name(make_filename(file_descriptor));
     file_response->set_content(text.str());
@@ -182,7 +184,7 @@
     for (int i=0; i<N; i++) {
         const FileDescriptorProto& file_descriptor = request.proto_file(i);
         if (should_generate_for_file(request, file_descriptor.name())) {
-            write_header_file(&response, file_descriptor);
+            write_header_file(request.parameter(), &response, file_descriptor);
         }
     }
 
